首先,定义TabHost的布局文件:

android:id="@android:id/tabhost" android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_width="fill_parent" android:layout_height="fill_parent">

android:layout_alignParentBottom="true"

android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

android:id="@android:id/tabcontent"

android:layout_width="fill_parent"

android:layout_height="fill_parent" />

其中,TabWidget即是选项卡上面的标签,FrameLayout是选项卡的内容。

在Java类文件中定义如下:

public class MainActivity extends TabActivity {

private TabHost my_tabhost;

private TabWidget my_tabwidget;

private int i,k;

private TextView tv;

private String[] tabMenu = { "系统", "硬件", "操作"};

private Intent intent0, intent1, intent2;

private Intent[] intents = { intent0, intent1, intent2};

private TabHost.TabSpec tabSpec0, tabSpec1, tabSpec2, tabSpec3;

private TabHost.TabSpec[] tabSpecs = { tabSpec0, tabSpec1, tabSpec2, tabSpec3};

public static Context mContext;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 不要窗体标题

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

setContentView(R.layout.activity_main);

my_tabhost = getTabHost();

intent0 = new Intent(this, system.class);

intent1 = new Intent(this, hardware.class);

intent2 = new Intent(this, operation.class);

tabSpec0 = my_tabhost.newTabSpec("system").setIndicator(tabMenu[0],null).

setContent(intent0);

tabSpec1 = my_tabhost.newTabSpec("hardware").setIndicator(tabMenu[1],null).

setContent(intent1);

tabSpec2 = my_tabhost.newTabSpec("operation").setIndicator(tabMenu[2],null).

setContent(intent2);

my_tabhost.addTab(tabSpec1);

my_tabhost.addTab(tabSpec0);

my_tabhost.addTab(tabSpec2);


                // 设置默认选中的选项卡为第2个

my_tabhost.setCurrentTab(1);

}

}

每一个选项卡对应一个Intent,每一个Intent又对应一个类,选中这个选项卡时,就显示对应的类。

运行结果如下:

1fe9e817808f5f3f2a4503c5b59c6e6f.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐