【发布时间】:2010-10-04 13:54:12
【问题描述】:
我正在编写一个需要在各种 Android 设备上运行的应用程序,每个设备都有自己的运营商特定主题。
不幸的是,存在一个问题,即每个设备的标签主题不兼容 --- 库存 Android 使用浅背景、深色前景作为所选标签,但 HTC Desire 使用深色背景、浅色前景,这意味着为一个设计的图标在另一个看起来是错误的。 (此外,HTC Desire 的主题有一个错误,他们忘记为选定的选项卡设置前景色,这意味着您实际得到的是深色背景、深色前景。系统应用程序似乎都是手动设置前景色,但我在几个用户应用程序中观察到了这一点。)
因此,为了使应用程序在所有设备上看起来都正确,我认为我有两个真正的选择:
完全自定义我的标签主题,因此我们根本不依赖系统主题
其他
我宁愿不做第一个,因为这就是为什么我们的应用程序与设备上的其他应用程序不匹配的原因。但除非有解决这个问题的聪明方法,否则我将不得不这样做。有什么建议么?我不可能是第一个遇到这种情况的人。例如,有什么方法可以让 Android 自动更改图标的颜色?
(此外,我仍在处理一个问题,即系统应用程序显示的选项卡与用户应用程序不同:一定有一些主题设置我还没有找到,但是在搜索了源代码之后没有迹象。感谢指针。)
【问题讨论】:
-
标签图标应该是
StateListDrawables,并带有不透明度设置以与标签背景融合——请参阅developer.android.com/guide/practices/ui_guidelines/…。在这些方面,Android 将“自动更改图标的颜色”。不过,我不知道这是否是您的想法。 -
是的,我们已经这样做了 --- 但实际图像数据的颜色仍然是固定的。所以虽然我们可以通过图标的透明部分看到标签的背景颜色,但图标前景在不同的主题上保持不变。如果图标在选择时变暗,在未选择时变亮,如果主题期望在选择时变亮图标,它仍然无济于事。
标签: android themes tabs android-tabhost