1

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

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

我已将此颜色设置为“相对布局”等布局之一中的背景,并且该颜色在大多数 android 设备中都正确显示。但是在三星型号 S6310 android 4.2.1 中,我遇到了麻烦。我的颜色没有显示,而不是显示这种颜色,android 设备显示透明颜色。我已经搜索过这个问题,解决方案是使用 java 代码为我的布局设置颜色。但我有很多风味版本,我不想更改我的 java 代码。

现在我有两个问题:

1-为什么会这样?

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

4

3 回答 3

2

很简单的回答你的问题

为什么?

好吧,这只是 Android 支持库的工作。Android 支持库,既然它向后兼容,它应该处理它。它应该使应用程序正确读取这些资源。但有时它不会。这主要是造成这种情况。如果在此处此处发生类似情况,您可以阅读有关如何设置资源的更多信息。

解决 方法 有很多解决方法,

  1. 直接在 XML 中设置资源颜色,而不是引用资源。

  2. 您也可以设置资源颜色或使用JAVA Code.

  3. 它还指出,添加

    android {
        ...
        defaultConfig {
            ...
            vectorDrawables.useSupportLibrary = true
        }
        ...
      }
    

到 build.gradle 解决了这个问题。在这里检查。

无论如何,最好以编程方式进行。

于 2017-03-01T12:09:56.513 回答
0

您可以使用 Android Studio 主题编辑器并尝试更改背景颜色。您可以在此处此处获取有关主题编辑器的更多信息。

于 2017-03-01T12:34:22.953 回答
0

如果它在 android 版本上,您应该检查版本并在那里设置颜色

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

}

如果它是android版本的问题,希望这会有所帮助。

于 2017-03-04T11:50:24.417 回答