我使用以下样式和一组九个补丁图像在一些冰淇淋三明治标签的底部创建一条红线,而不是标准的蓝线:
<style name="customTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabBar">
<item name="android:tabStripLeft">@null</item>
<item name="android:tabStripRight">@null</item>
<item name="android:tabStripEnabled">false</item>
<item name="android:showDividers">none</item>
<item name="android:measureWithLargestChild">true</item>
<item name="android:background">@drawable/tab_line</item>
<item name="android:gravity">center</item>
</style>
<style name="customTabBar" parent="@android:style/Widget.Holo">
<item name="android:showDividers">middle</item>
<item name="android:divider">@drawable/divider2</item>
<item name="android:dividerPadding">0dp</item>
</style>
<style name="LightThemeSelector" parent="android:Theme.Holo.Light">
<item name="android:actionBarTabStyle">@style/customTabStyle</item>
<item name="android:actionBarTabBarStyle">@style/customTabBar</item>
</style>
显示了红线,一切看起来都不错,除了选项卡之间的分隔线。正如您在图像中的绿色框内看到的那样,在分隔线下方未绘制线。如何为此分隔线选择可绘制对象或样式?
和项目不负责选项卡android:divider
之间android:showDividers
的分隔符。他们只选择在选项卡图标和选项卡标题之间绘制的分隔线。我隐藏了那些分隔线,因为没有标题,而且分隔线看起来很奇怪。
更新考虑到 Aneal 的答案,我添加了第二种样式 customTabBar。该样式选择一个可绘制对象作为分隔线。分隔线是一条黑色实线,使用以下 9patch 可绘制对象创建:
有了这个drawable,分隔线就被绘制出来了,但它旁边还有一个空行: