TabHost标签控件

  如果在屏幕上要放置很多的控件,可能一个屏放不下,除了使用滚动视图的方式外,还可以使用标签控件对屏幕进行分页显示,当单击标签控件的不同标签时,会显示当前标签的内容,在android系统中一个标签可以是一个View或者是Activity。

   TabHost是标签控件的核心类,也是一个标签的集合,每一个标签是TabHost.TabSpec对象。通过TabHost类的addTab的方法添加多个TabHost.TabSpec对象。

  下面是实列:

  在main.xml文件中:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5     <TextView
 6         android:id="@+id/textview1"
 7         android:layout_width="fill_parent"
 8         android:layout_height="fill_parent"
 9         android:background="#FF0000" />
10     <TextView
11         android:id="@+id/textview2"
12         android:layout_width="fill_parent"
13         android:layout_height="fill_parent"
14         android:background="#00FF00" />
15     <TextView
16         android:id="@+id/textview3"
17         android:layout_width="fill_parent"
18         android:layout_height="fill_parent"
19         android:background="#0000FF" />
20 </RelativeLayout>

在.java 文件中:

 1 public class MainActivity extends TabActivity {   //注意,这里继承TabActivity,具体详细介绍查手册
 2
 3     private TabHost host;
 4     @SuppressWarnings("deprecation")
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8     //    setContentView(R.layout.main);
 9
10         host = getTabHost();
11         LayoutInflater.from(this).inflate(R.layout.main,host.getTabContentView() , true);
12         host.addTab(host.newTabSpec("tab1").setIndicator("red", getResources().getDrawable(android.R.drawable.ic_input_add)).setContent(R.id.textview1));
13         host.addTab(host.newTabSpec("tab2").setIndicator("green", getResources().getDrawable(android.R.drawable.ic_input_delete)).setContent(R.id.textview2));
14         host.addTab(host.newTabSpec("tab3").setIndicator("blue", getResources().getDrawable(android.R.drawable.ic_input_get)).setContent(R.id.textview3));
15         host.setOnTabChangedListener(new OnTabChangeListener() {
16
17             @Override
18             public void onTabChanged(String tabId) {
19                 // TODO 自动生成的方法存根
20                 Toast.makeText(MainActivity.this, "tabId"+tabId, Toast.LENGTH_LONG).show();
21             }
22         });
23
24     }
25
26     @Override
27     public boolean onCreateOptionsMenu(Menu menu) {
28         // Inflate the menu; this adds items to the action bar if it is present.
29         getMenuInflater().inflate(R.menu.main, menu);
30         return true;
31     }
32
33 }

运行结果:

史上最全的Android的Tab与TabHost讲解
http://www.eoeandroid.com/thread-1035-1-1.html
时间: 2024-10-01 07:54:30

TabHost标签控件的相关文章

Android 标签控件

版本:1.0 日期:2014.7.24 版权:© 2014 kince 转载注明出处 在有的应用中可能需要设置一些标签来方便用去去查询某些信息,比如手机助手或者购物软件之类都会有一些标签.对于软件开发初期来说,直接使用TextView.Button实现是最为简单的一种方式.但是这种方法也有其局限性,比如不能控制换行.耦合性低等缺点.所以除了解决这些问题之外,最好能够封装一个类库出来,方便以后使用. 首先新建一个Tag类, import java.io.Serializable; public c

TextView(标签控件)

3.TextView(标签控件)   3.1常用      android:text                                              //显示文本内容      android:textColor                                         //文本颜色      android:textSize                                          //文字的大小      android

Java swing 之 标签控件 和 图标控件的使用

在Swing 中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标.在应用程序的用户界面中,一个简短的文本标签可以使用户知道这些控件的目的,所以标签在Swing中是比较常用的控件. 1.标签的使用 标签由JLabel类定义,父类为JComponent类. 标签可以显示一行只读文本,一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单低显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式. JLabel类提供了多种构造方法,这样可以创建多种标签,例如显示只有文本的标签.只

能够附加图片的标签控件iOS项目源码

这个源码案例是能够附加图片的标签控件,源码JTImageLabel,JTImageLabel能够附加图片的标签Label控件,图片可以随意更换.位置也能够很好的控制.效果图: <ignore_js_op> 使用方法: 支持CocoaPods: pod 'JTImageLabel', '~> 1.0' 用法相当简单,像普通Label那样使用: #import "JTImageLabel.h" @property (weak, nonatomic) IBOutlet JT

DS标签控件文本解析格式

DS标签控件使用DSL文本渲染引擎,支持DSL引擎代码.目前支持代码如下: <b>粗体</b> 以粗体显示 <i>斜体</i> 以斜体显示 <u>下划线</u> 以下划线显示 <link=标识,target=链接目标>链接</link> 插入一个链接,如果指定enabled=false,则显示为一个灰色不可点击的链接 <link=标识>链接</link> <link=标识,enab

(八)树控件(Tree Control),标签控件(tab control)

树控件 基于对话框创建工程 // 01_TreeCtrlDlg.cpp : 实现文件 // #include "stdafx.h" #include "01_TreeCtrl.h" #include "01_TreeCtrlDlg.h" #include "afxdialogex.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // 用于应用程序“关于”菜单项的 CAboutDlg

标签控件JLabel的使用

---------------siwuxie095 工程名:TestUI 包名:com.siwuxie095.ui 类名:TestLabel.java 工程结构目录如下: 在 Design 的根面板 contentPane 的正中间添加一个 JLabel,添加后 可直接输入初始值(文本内容) 在 Source 中,JLabel 在创建时可直接使用构造方法赋值, 或 使用 set 方法赋值: JLabel 最常用的属性: 字体(font): 选择不同的字体,不同的样式,不同的字号(大小) 颜色(f

Weex 标签控件

1.滚动组件 <template> <scroller> <div repeat="{{list}}"> <text>{{name}}: ${{price}}</text> </div> </scroller> </template> <script> module.exports = { data: { list: [ {name: '...', price: 100}, {n

Android自定义流式标签控件

最近总感觉写博客的激情不高,不知道为啥.放上效果图,demo在最下面 图上那个切换按钮的作用呢,就是模拟改变标签的个数动态变化整个控件的高度. 其实这个控件也算很简单的控件了.关键点只有两个 如何控制标签自动换行 切换数据源时动态改变控件的高度 再简单的控件也需要一点一点的码出来,咱就从最基础的属性设置开始. public FlowTagView textColor(int defaultColor, int selectedColor){ this.textColorDefault = def