代码改变世界

TabHost的两种实现形式

  张智清  阅读(534)  评论(0编辑  收藏  举报
要去实现TabHost,主要有两种方法:
        1、各选项内容在布局文件中定义。
        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
   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); 
复制代码

 

(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示