TabHost实现简单Tab切换

TabHost实现简单Tab切换,第1张

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()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7954393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存