【发布时间】:2013-08-02 22:23:22
【问题描述】:
我希望我的活动有两个可能的主题,例如 Theme_Holo 和 Theme_Holo_Light,由用户选择。我需要在这个活动中以编程方式绘制水平分隔线之类的东西。分隔线的颜色应取决于所选主题。我怎样才能轻松做到这一点?
理想情况下,无论使用什么主题,分隔线的标准颜色都应该有一个名称,并且该颜色名称的实际 RGB 实现会自动匹配所选主题。有这种事吗?在我看来,程序员不太可能需要对 RBG 值进行硬编码。
当然,分隔符只是一个例子。我还想以不依赖于主题的方式命名 EditText 或其他小部件的颜色。
【问题讨论】:
-
研究创建自定义主题,例如,您可以创建两个主题,一个是深色,一个是浅色,然后使用 @android:color/...为每个主题定义分隔线的颜色...
-
我的问题与使用预定义主题有关,而不是创建它们。有以下关键区别:如果我创建一个主题,我决定它的所有颜色。如果我使用像 Holo 这样的预定义它们,例如分隔线颜色的名称是什么?
-
换一种说法:如果我喜欢 Gmail 应用的分隔线颜色,我该如何访问它?
-
不能确定,但看起来像 android:color/lighter_gray 或 android:color/darker_gray github.com/android/platform_frameworks_base/blob/master/core/…
-
令我困惑的是,关于这方面的信息有多么少。 Google 不希望 Android 应用具有统一的外观吗?