自定义竖型TabWidget

这个方法叫做“以假乱真法”
先上图:

中心思想:把自带的TabWidget隐藏,自己创建一个左侧的竖型tab栏,添加tab监听,以此实现竖型tabwidget
第一步,创建menu.xml布局文件
<TabHost  android:id = "@android:id/tabhost" >
     <TabWidget  android:id = "@android:id/tabs"  android:visibility = "gone"
     <LinearLayout ></ LinearLayout >
     <FrameLayout  android:id = "@android:id/tabcontent" />
</TabHost>
从id的取名就可以大致看出TabHost、TabWidget、FrameLayout各自的作用
TabWidget--用来定义选项卡,此法里面一定要有这句话 android:visibility = "gone"
FrameLayout--用来显示选项卡对应的内容,通常是一些Activity
中间的<LinearLayout>节点就有意思了,这个是“以假乱真”的关键。左侧竖型tab就是在这个里面定义的
第二步,创建每个Activity的xml文件
这里所说的Activity就是要包含进右侧frameLayout中的Activity
第三步,代码实现tabWidget初始化
// 得到TabHost对象
           tabHost= getTabHost();
           Intent intent1 =newIntent(this, MenuSetActivity.class);
           // 第一个参数是用来指定标签的;
           // 第二个参数是显示到页面上的tag,在这里不会显示到页面,因为设置visibility gone;
           // 第三个参数是选项卡内容
     spec1=tabHost.newTabSpec(SETTAG).setIndicator(SETTAG).setContent(intent1);
           tabHost.addTab(spec1);
第四步,添加监听
@Override
     publicvoidonClick(View v) {
           intcheckedId = v.getId();
           if(currentId== checkedId){
                //当点击的tab与当前tab一致时,返回
                return;
           }
           switch(checkedId) {
           caseR.id.systemset_set_text:
                setCurrentTabByTag(SETTAG);
                break;
         }
setCurrentTabByTag就是根据当前的tag去查找相应的tab



评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值