我将自定义主题应用于使用 Jake Wharton 的伟大 ViewPagerIndicator 库的应用程序。不幸的是,该主题要求第一个和最后一个 Tab 指示器具有圆形外端。
它应该是这样的:
我想我可以使用selector
像下面这样的特殊可绘制对象(简化)来实现这一点,但显然不支持 state_first、state_middle、state_last - 当我使用它们时背景只是空白,而它没关系(除了最外面的选项卡)时我不。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- middle buttons -->
<item android:state_middle="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/groupbutton_normal" />
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/groupbutton_pressed" />
<!-- first button -->
<item android:state_first="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/groupbutton_first_normal" />
<item android:state_first="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/groupbutton_first_pressed" />
<!-- lastbutton -->
<item android:state_last="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/groupbutton_first_normal" />
<item android:state_last="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/groupbutton_first_pressed" />
</selector>
它在没有middle, first, last
状态的情况下工作,看起来像这样:
仅适用于这种外观:
我已经查看了代码,但选项卡只是 a 中的一堆TabView
s (派生自TextView
)HorizontalScrollView
,我猜这不支持那些状态属性。
那么有没有人解决这个问题的实现或想法?