【问题标题】:How to Get Android System Colors如何获取 Android 系统颜色
【发布时间】:2010-11-16 09:45:17
【问题描述】:

我已经看到有关如何设置系统颜色的参考资料,但我需要了解您如何获取它们 - 您如何找出它们是什么?

例如,在三星 Galaxy S 上,选项卡视图、选择项目时突出显示的 ListView 以及首选项屏幕上的摘要文本行都是蓝色的。

有很多模仿这种风格的应用程序,我也想做同样的事情。显然我不能硬编码并将颜色设置为蓝色,因为其他手机使用不同的颜色。

问题是,有没有办法以编程方式找出首选项屏幕摘要行、选项卡或 ListView 选择的颜色,以便您可以在应用中的其他地方针对 TextView 进行设置?

如何获取安卓系统颜色?

【问题讨论】:

标签: android uicolor


【解决方案1】:

这个问题有答案,但可能不是你想听到的。没有办法可靠地做到这一点。 “选择颜色”实际上是九个补丁图像的一部分,它是在特定于平台的基础上提供的。有些使用标准的橙色,有些(Sense)使用绿色,还有一些使用红色。有了这些详尽的列表,您也许可以创建从硬件到颜色的映射,但这不是很有效,因为新硬件一直出现,并且其中一些手机允许卸载感觉。

您唯一能做的就是使您的按钮在应用程序本身中保持一致,这本身就是一项艰巨的任务。如果您真的必须有一个带有选择颜色的自定义项目(这很常见),那么我的建议是从您选择的平台复制按钮资源(我自己喜欢默认的 sdk 资源),然后手动设置它们在整个应用程序中。这样,无论您在哪个平台上,它们看起来总是一样的,因此将始终与您的自定义视图相匹配。请注意,这将需要您做的不仅仅是按钮。对话框和菜单也需要修改,这是可能的,但很难。

这确实是 Android 设计方式的一个缺陷,它让我们很多人感到悲痛。我希望我能给你一个更好的答案,但我认为这是我们所能得到的最好的答案。

【讨论】:

    【解决方案2】:

    您可以使用 @android:color 系统变量为 XML 布局中的元素指定颜色:

    <TextView android:background="@android:color/white" android:textColor="@android:color/black" />
    

    【讨论】:

    • 感谢您的回复。这就是您设置颜色的方式(前提是您知道它是什么)。我需要先找出 Android 系统颜色 - 我该怎么做?
    • @Simon:我误解了你的问题。我无法帮助你回答这个问题。如果我是你,我可能也会尝试澄清这个问题,因为你所追求的并不是很明显。
    • 我将编辑我的问题以澄清 - 但正如所讨论的,我不是要设置颜色,而是要获取颜色、主题和样式,以便我可以使我的应用程序和文本视图看起来“标准” .我想到了有“摘要”的“首选项”屏幕。我的手机上有很多应用程序似乎使用了这种颜色,但是你如何以编程方式找出这种颜色是什么?
    • @Simon:+1,现在问题更清楚了。希望其他人可以帮助您。
    • 感谢 Nailuj 的反馈 - 非常感谢。
    猜你喜欢
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2012-01-30
    • 1970-01-01
    • 2011-04-12
    • 2015-03-17
    • 2012-10-15
    相关资源
    最近更新 更多