我正在开发一个Android应用程序。我在我的资源中定义了一种颜色:
<color name="toolbar_color">#ffcb00</color>
我已将此颜色设置为布局中的背景,例如&#39;相对布局&#39;这种颜色在大多数Android设备中都能正确显示。但在三星模型S6310 android 4.2.1中,我遇到了麻烦。我的颜色没有显示,而是显示这种颜色,Android设备显示透明的颜色。 我已经搜索过这个问题,解决方法是使用java代码为我的布局设置颜色。但我有很多风格,我不想改变我的java代码。
现在我有两个问题:
1-为什么会发生这种情况?
2-这个问题的解决方案是什么?
答案 0 :(得分:2)
很好地用简单的语言回答你的问题,
<强> 1。为什么?
嗯,这只是Android支持库的工作。 Android支持库,现在它是向后兼容的,它应该处理它。它应该使应用程序正确读取这些资源。但有时却没有。这主要是因为这个。 如果出现here和here类似的情况,您可以详细了解如何设置资源。
<强> 2。变通强> 那么有很多解决方法,
1. Set the resource colour directly in the XML instead of referencing to a resource.
2. Also you can set the resource colour or the resource using `JAVA Code`.
3. It also states that adding,
android {
...
defaultConfig {
...
vectorDrawables.useSupportLibrary = true
}
...
}
到build.gradle解决了这个问题。检查here。
无论如何,最好以编程方式进行。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果它在Android版本上你应该检查版本并设置那里的颜色
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLYBEAN) {
// Your required color
} else {
}
希望这有助于解决Android版本的问题。