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的时候灰掉的?一般点击某个选项卡都会有点击前跟点击后的变化,用selector设置两张背景图片就好就好~~~~贴个代码你:private Fargment f在onCreat()中:
final Handler hand = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg)
f = getSupportFragmentManager().findFragmentByTag("TAG1")//TAG1是-->newTabSpec("TAG1")
Log.e("aaaa", "=====获得的view1是:=====" + f)
}
}
new Thread() {
@Override
public void run() {
try {
Thread.sleep(1500)//休眠1.5s后就能获取到了
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
Message msg = hand.obtainMessage()
hand.sendMessage(msg)
}
}.start()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)