某些Android设备中的背景颜色错误

时间:2017-03-01 11:50:46

标签: java android xml android-build-flavors

我正在开发一个Android应用程序。我在我的资源中定义了一种颜色:

  <color name="toolbar_color">#ffcb00</color>

我已将此颜色设置为布局中的背景,例如&#39;相对布局&#39;这种颜色在大多数Android设备中都能正确显示。但在三星模型S6310 android 4.2.1中,我遇到了麻烦。我的颜色没有显示,而是显示这种颜色,Android设备显示透明的颜色。 我已经搜索过这个问题,解决方法是使用java代码为我的布局设置颜色。但我有很多风格,我不想改变我的java代码。

现在我有两个问题:

1-为什么会发生这种情况?

2-这个问题的解决方案是什么?

3 个答案:

答案 0 :(得分:2)

很好地用简单的语言回答你的问题,

<强> 1。为什么?

嗯,这只是Android支持库的工作。 Android支持库,现在它是向后兼容的,它应该处理它。它应该使应用程序正确读取这些资源。但有时却没有。这主要是因为这个。 如果出现herehere类似的情况,您可以详细了解如何设置资源。

<强> 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)

您可以使用Android Studio主题编辑器并尝试更改背景颜色。您可以在主题编辑器herehere上获得更多信息。

答案 2 :(得分:0)

如果它在Android版本上你应该检查版本并设置那里的颜色

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLYBEAN) {
// Your required color
} else {

}

希望这有助于解决Android版本的问题。