【发布时间】:2011-03-21 00:02:33
【问题描述】:
我很难为操作栏实现自定义样式的选项卡:我需要使选项卡(我的意思是按钮)在正常和选定状态下都使用自定义图形。
我已经能够使用
杀死所有原生样式<style name="customActionBarTabStyle">
<item name="android:background">#00000000</item>
</style>
然后使用 Tab.setIcon() 使标签看起来像我需要的那样,但我需要它们对切换做出反应(通过在两个 Drawable 之间切换 - 用于打开和关闭状态)。
我试过像这样创建一个 Drawable 选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/btn_on" />
<item android:drawable="@drawable/btn_off" />
</selector>
但选项卡在选择时不会切换到按下模式。
另外,我尝试在 TabListener.onTabSelected() 和 .onTabUnselected() 中调用 Tab.setIcon() - 也没有运气。
有人知道解决这个问题的好方法吗?
另外,我需要显示自定义视图而不是溢出菜单 - 我已经搜索了一堆“提示”来重新考虑我的 UI 以“遵循 Android 方式”,但问题是 UI 实际上不是我的重新考虑 - 它是客户的 :) 所以我真的很想找到一种方法来解决 ActionBar 的自定义缺点。
任何建议都非常感谢,在此先感谢。
【问题讨论】:
-
您使用的是完全没有背景的自定义图标吗?你想要完成什么样的外观?
-
不,
<style name="customActionBarTabStyle"> <item name="android:background">#00000000</item> </style>覆盖默认选项卡背景 - 以摆脱本机带下划线的外观,并且选择器在透明选项卡背景上绘制为选项卡图标。这与 ActionBar 自己的背景无关 - 它就在那里,并且绘制在选项卡图标和透明选项卡背景下。
标签: android tabs customization android-3.0-honeycomb android-actionbar