Android Tabwidget关于setDividerDrawable不起作用的问题

本文分享了使用TabWidget时遇到的焦点问题和分隔线不显示问题的解决方案,通过调整代码实现正常功能。重点在于解决IceCreamSandwich版本以上出现的TabWidget默认样式中分隔线被隐藏的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    无聊没事写了个Tabhost的demo练练手,到最后出了两个问题,一是tab完全没有焦点这种状态,导致selector不起作用,最后在selector里添了selected这状态才有效果,这只是个小问题就简单带过了。

    另外一个大大大大的问题就是Tabwidget.setDividerDrawable这句话完全没让divider显示出来的问题。在国内搜了一天都搜不到答案,还是一个同事叫我用google到国外搜搜看。google被墙,经常上不去,没办法只好试试了,一搜果然有大神。

    据Stackoverflow的大神说,Tabwidget.setDividerDrawable在ice cream sandwich版本(4.0)以上才会出现这问题,以下完全没问题,要解决这问题就一句代码:

tabHost1.getTabWidget().setDividerDrawable(R.drawable.example1);
if(Build.VERSION.SDK_INT >= 11)
    tabHost1.getTabWidget().setShowDividers(TabWidget.SHOW_DIVIDER_MIDDLE);
    估计是谷歌大神在4.0以上版本的默认样式里面把divider的位置不知道设到哪里被挡住了,所以才不显示。

    最后小菜鸟只能对stackoverflow的大神们表示深深的膜拜。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值