$android$ --- 如何使用TAB

android中有两种tab的使用方式:
1 直接继承TabActivity,如同ListActivity一般
2 使用TabHost控件(通常会定制一些特殊的页面,比如:希望先显示一些基本信息,然后下面再显示几个TAB,主要用于屏幕更大的平板电脑).

不废话!!!

第一种可以参考androidSDK自带的例子,有三种方法:使用ID,Factory,Intent。使用Intent可以延迟加载Tab的内容,并且对于每一个TAB,可以通过addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))来决定是否缓存这个Intent。默认是缓存,不会重新调用该Intent.

第二种需要注意几点:
1 因为使用的是findViewById()找到TabHost,所以在增加tabs之前,先要调用setup()例如:
mTabHost = (TabHost)findViewById(R.id.tabhost);
mTabHost.setup();
mTabHost.addTab(TAB_TAG_1, "Hello, world!", "Tab 1");

2 TabHost内必须有一个id="@android:id/tabs"的TabWidget控件,否则会报RuntimeException: Your TabHost must have a TabWidget whose id attribute is 'android.R.id.tabs'
这是因为TabHost中的setup方法逻辑如下:
public void setup() {
mTabWidget = (TabWidget) findViewById(com.android.internal.R.id.tabs);
if (mTabWidget == null) {
throw new RuntimeException(
"Your TabHost must have a TabWidget whose id attribute is 'android.R.id.tabs'");
}
....
}

3 Tab太多了,是不是显示得相当难看? 小意思,给TabWidget加一个HorizontalScrollView就搞掂了。如:<HorizontalScrollView android:layout_width="wrap_content"
android:layout_height="wrap_content">

<TabWidget android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TabWidget>
</HorizontalScrollView>
so easy!
附件是别人写的一个例子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值