TabHost的两种实现形式
2012-08-22 16:24 张智清 阅读(532) 评论(0) 编辑 收藏 举报要去实现TabHost,主要有两种方法:
一
1、各选项内容在布局文件中定义。
2、主Activity类继承TabActivity;
3、用getTabHost()方法获取TabHost
2、主Activity类继承TabActivity;
3、用getTabHost()方法获取TabHost
4、指定TabHost选项卡的Content布局界面:LayoutInflater.from(this).inflate(界面布局id,tabHost.getTabContentView(),true)
5、添加各个选项卡(这里要指定选项卡Tag、显示标签样式、选项卡容纳的内容)
6、监听选项卡更改事件 TabHost.setOnTabChangedListener
注意:这种直接继承自TabActivity类实现的Tab选项卡,原则上无法改变系统自身的Tab标签样式,但可以选择隐藏系统Tab的某些东西,如隐藏TabWidget而用自定义的一组RadioButton来代替Tab标签。
二
1、直接在布局文件中定义TabHost,xml布局文件中必须有TabHost、TabWidget、FrameLayout这三个标签元素,而且:
注意:TabWidget的id必须是@android:id/tabs,FrameLayout的id必须是 @android:id/tabcontent。
二
1、直接在布局文件中定义TabHost,xml布局文件中必须有TabHost、TabWidget、FrameLayout这三个标签元素,而且:
注意:TabWidget的id必须是@android:id/tabs,FrameLayout的id必须是 @android:id/tabcontent。
2、主Activity类仍然继承普通的Activity,代码中主要片段:
// 获取TabHost TabHost tabHost = (TabHost) findViewById(R.id.tabs); tabHost.setup(); // 设置选项卡 // 参数:是选项卡的标签 TabSpec parentSpec = tabHost.newTabSpec("parent"); parentSpec.setIndicator("基类", this.getResources().getDrawable(R.drawable.announcements256)); parentSpec.setContent(R.id.tab_1); TabSpec subSpec = tabHost.newTabSpec("sub"); subSpec.setIndicator("子类", this.getResources().getDrawable(R.drawable.content256)); subSpec.setContent(R.id.tab_2); tabHost.addTab(parentSpec); tabHost.addTab(subSpec);