我想为堆叠和非堆叠标签栏设置单独的背景。
这应该解释一下:
所以我的方法是:
对于平板电脑,使用深色背景标签。对于其他一切,请使用浅色背景。
这涵盖了大多数用例,但我想让它在手机环境中看起来还不错。
我有什么办法可以做到这一点?也许是我错过的风格修饰符?
最佳答案
您可以根据堆叠/非堆叠 ActionBar 更改选项卡背景,方法是仅为 android:backgroundStacked
设置浅色背景可绘制对象。在你的主题中。
但随后您会遇到无法根据堆叠/非堆叠布局定义标签文本颜色 的问题。这意味着,结果要么是浅色背景上的浅色文本,要么是深色背景上的深色文本。
这已经是一个注册问题:http://code.google.com/p/android/issues/detail?id=26557 ,因此您现在的选择是等待或使用以下解决方法之一:
- 基于可用屏幕宽度的方法:Android change action bar tab's selector color when split or stacked
- 基于 ActionBar 高度的方法:Find out if ActionBar is stacked
- 不使用
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS)
但坚持使用老式 TabHost或其他导航方法,例如 ViewPagerIndicator (也支持标签)
附言我也面临这个问题,因为我的应用程序中有一个带有浅色选项卡的深色 ActionBar。仍然没有找到完美的解决方案。
有点题外话:如果您还没有,请使用 Action Bar Style Generator更容易处理颜色和绘图。同样,对于带有浅色堆叠标签栏的深色操作栏,您会发现没有令人满意的配置。
关于android - 堆叠操作栏的自定义样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489161/