TabHost实现简单Tab切换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TabHost实现简单Tab切换相关的知识,希望对你有一定的参考价值。

参考技术A

TabHost是整个Tab的容器,包含TabWidget和FrameLayout两个部分,TabWidget是每个Tab的表情,FrameLayout是Tab内容。

实现方式有两种:
1、继承TabActivity
2、继承Activity类

方法一:继承TabActivity
从TabActivity中用getTabHost()方法获取TabHost,然后设置标签内容布局:
1、TabHost    必须设置android:id为@android:id/tabhost
2、TabWidget   必须设置android:id为@android:id/tabs
3、FrameLayout  必须设置android:id为@android:id/tabcontent
否则将出现类似报错:

继承TabActivity

其中创建标签的方法:

也可以拆分写成:

预览:
点击"黄色"标签

方法二:继承Activity类
布局:
1、TabHost    可自定义id
2、TabWidget   必须设置android:id为@android:id/tabs
3、FrameLayout  必须设置android:id为@android:id/tabcontent

注意的是:
在使用TabHost切换activity时出现Did you forget to call \'public void setup..
改用第一种方法吧

Android:布局实例之模仿微信Tab(TabHost+RadioGroup)
http://www.cnblogs.com/tinyphp/p/3875190.html

去掉TabHost中Tab间的分割线

去掉TabHost中Tab间的分割线

         网上可以搜到很关于如何去Tabhost下面的白色底线,不过好像对tab标签间的分割线如何去掉却说的比较少,也许遇到这个问题的同学很少吧。

  1. [java] view plaincopy
  2. TabWidget ll = (TabWidget) a.findViewById (R.id.buttonbar);
  3. <strong>ll.setDividerDrawable( null);</strong>
  4. tabHost = getTabHost();
  5. <strong>tabHost.getTabWidget().setDividerDrawable(null); </strong>
  6. 看到了吧,找到Tabwidget对象按加粗部分设置一下就好了





以上是关于TabHost实现简单Tab切换的主要内容,如果未能解决你的问题,请参考以下文章

Android典型界面设计——FragmentTabHost+Fragment实现底部tab切换

Android零基础入门第70节:ViewPager轻松完成TabHost效果

Android 微信 底部tab 切换时是新的activity 还是 fragment

android里实现一个tabhost显示怎么弄?

Vue之tab简单切换实现

简单快速实现tab切换