选项卡(TabHost)方便的在窗口上设置多个标签页,每个标签页相当于获得一个与外部容器相同大小的组件摆放区域
通过这种方式,可以在一个容器中放置多组件。
创建4个java文件并对应layout
创建主java ,代码
1 package lianxi;
2
3 import com.example.jichu_lianxi.R;
4
5 import android.app.TabActivity;
6 import android.content.Intent;
7 import android.content.res.Resources;
8 import android.os.Bundle;
9 import android.widget.TabHost;
10
11 public class TobHost_lianxi extends TabActivity{
12 @Override
13 protected void onCreate(Bundle savedInstanceState) {
14 // TODO Auto-generated method stub
15 super.onCreate(savedInstanceState);
16
17 //获取当前Activity的标签,该方法的实现已经执行了setContentView(com.android.internal.R.layout.tab_content);
18 Resources resources = getResources();
19 TabHost tabHost = getTabHost();
20 TabHost.TabSpec spec;
21 /*
22 * 对方法的解释:
23 * 1. newTabSpec("artist")创建一个标签项,其中artist为它的标签标识符
24 * 2. setIndicator("标签1", resources.getDrawable(R.drawable.bulb_off))
25 * 显示文本以及标签上的图标(该图标不是一个图片,而是一个xml文件)
26 */
27 //添加第一个标签
28 Intent intent = new Intent(TobHost_lianxi.this,KeyOnclick.class);
29 spec = tabHost.newTabSpec("keyonclick").setIndicator("标签1", resources.getDrawable(R.drawable.bulb_off)).setContent(intent);
30 tabHost.addTab(spec);//将标签添加到标签项中
31 //添加第二个标签
32 Intent intent2 = new Intent(TobHost_lianxi.this,List_lianxi.class);
33 spec = tabHost.newTabSpec("list").setIndicator("标签2",resources.getDrawable(R.drawable.bulb_off)).setContent(intent2);
34 tabHost.addTab(spec);
35 //添加第三个标签
36 Intent intent3 = new Intent(TobHost_lianxi.this,ToggleButton_lianxi.class);
37 spec = tabHost.newTabSpec("togglebutton").setIndicator("标签3",resources.getDrawable(R.drawable.bulb_off)).setContent(intent3);
38 tabHost.addTab(spec);
39 //添加第四个标签
40 Intent intent4 = new Intent(TobHost_lianxi.this,ToggleButton_lianxi.class);
41 spec = tabHost.newTabSpec("toggle").setIndicator("标签4",resources.getDrawable(R.drawable.bulb_off)).setContent(intent4);
42 tabHost.addTab(spec);
43
44 //设置第一次打开的默认显示的标签,参数与 .newTabSpec的参数匹配
45 //tabHost.setCurrentTabByTag("toggle");
46 //设置第一次打开的默认显示的标签,参数代表其添加到标签中的顺序,位置从0开始
47 tabHost.setCurrentTab(1);
48
49 }
50
51 }
其中 KeyOnclick.java List_lianxi.java ToggleButton_lianxi.java 代码不贴了
不要忘了在AndroidManifest.xml文件中 修改代码
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name="lianxi.Mainactivity">
<intent-filter
>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="lianxi.NewActivity"></activity>
<activity android:name="lianxi.AlertDialog_lianxi"></activity>
<activity android:name="lianxi.Notification_lianxi"></activity>
<activity android:name="lianxi.KeyOnclick"></activity>
<activity android:name="lianxi.List_lianxi"></activity>
<activity android:name="lianxi.ToggleButton_lianxi"></activity>
<activity android:name="lianxi.TobHost_lianxi"></activity>
</application>
效果图(第一张为标签2。因为tabHost.setCurrentTab(1); 设置第2个添加的标签项为默认显示,从0开始算)