TabHost的两种实现形式
2012-08-22 16:24 张智清 阅读(534) 评论(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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架