您的位置:首页 > 移动开发 > Android开发

【android】ViewGroup中使用TabHost

2013-01-07 15:44 363 查看
一、起因:

一位网友向我反应说,ViewGroup中使用TabHost时,tabhost的tab不能显示。

1.比如有两个tab(tab1和tab2)对应的内容是“内容一”、“内容二”。

2.默认显示的是“内容一”。

3.现在点“tab2”,按理应该显示“内容二”。但结果却是空白。

二、结论

研究后发现,原因可能是tab的大小未被正确初始化导致。解决办法是派生一个FrameLayout的子类,替换TabHost下的FrameLayout。重写子类的onLayout方法,在里面初始化各tab的大小:

@Override
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
// TODO Auto-generated method stub
if(changed) {
View view1 = getChildAt(0);
View view2 = getChildAt(1);

view1.measure(0, 0);
view1.layout(0, 0, getWidth(), getHeight());
view2.measure(0, 0);
view2.layout(0, 0, getWidth(), getHeight());
}


三、demo下载

四、联系方式

QQ:88433062

android交流群:33455842
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: