TabWidget下的android:divider属性是否有效?我试过android的Tab Layout教程只是为了测试(http://developer.android.com/resources/tutorials/views/hello-tabwidget.html)并将android:divider设置为某个图像(现在我使用android垂直滚动条作为drawable来真正强调它是否被拾取(复制它)来自框架),但是当我在模拟器上运行时,它似乎没有工作。根据文档,TabWidget似乎支持这个属性:“Drawable用于在选项卡之间绘制分隔符。”
有人可以帮忙吗?我正在使用一个9补丁的drawable作为我的分隔图像drawable。
MB
答案 0 :(得分:19)
divider
看起来TabWidget
属性不再可用了。添加自定义分隔符的一种方法是以编程方式设置它:
mTabHost.getTabWidget().setDividerDrawable(R.drawable.divider_vertical_dark);
但请确保在之前调用此,以设置标签的内容。如果我之后给它打电话,它会崩溃。
答案 1 :(得分:7)
我在ICS中遇到了问题,其中分隔符可见。除以下情况外,没有一种解决方案有效。
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="bottom"
android:layout_alignParentBottom="true"
android:fadingEdge="none"
android:showDividers="none" >
</TabWidget>
关键字是android:showDividers="none"
答案 2 :(得分:7)
我遇到了这个问题并使用以下代码解决了这个问题
tabHost1.getTabWidget().setDividerDrawable(R.drawable.example1);
if(Build.VERSION.SDK_INT >= 11)
tabHost1.getTabWidget().setShowDividers(TabWidget.SHOW_DIVIDER_MIDDLE);
对于低于11的api级别,它适用于第一行。对于11和更高,我包括这个以使这工作。 setShowDividers在api level 11的linearlayout中添加。希望这有助于某人
答案 3 :(得分:1)
我自己也有同样的问题。我只看到冰淇淋三明治(ICS / 4.0.x)中的问题。在Android 1.6 - 2.3.4中没有问题,在代码中设置drawable时,或者在xml布局中,分隔符正确显示。
我已经尝试过几乎所有我能想到的东西来修复它但是没有任何效果,包括Josh的答案:(虽然我注意到当设置任何drawable作为分隔符时,它会占用标签之间的空间,就好像那里有一个抽屉,但它只是不可见。
希望能给别人一个关于可能发生的事情的暗示......?
答案 4 :(得分:0)
我使用下面的魔法线从tabbar中删除了分隔线。
mTabHost.getTabWidget().setDividerDrawable(null);
OR
mTabHost.getTabWidget().setDividerDrawable(R.Color.transperant);