Tuh*_*hra 1 android android-resources
我正在尝试更改小吃店的颜色
snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED));
Run Code Online (Sandbox Code Playgroud)
我得到这样的东西:
android.content.res.Resources$NotFoundException: Resource ID #0xffff0000
Run Code Online (Sandbox Code Playgroud)
哪里肯定
0xffff0000
代表RED。但是为什么找不到这个资源呢?有什么帮助吗?
用: snackbarView.setBackgroundColor(Color.RED);
不是: snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED));
原因:
因此,您可以直接为其添加颜色。无需向其添加 ContextCompat.getColor() 方法。
如果要使用它,请使用有效的资源 ID,而不是颜色 ID作为 getColor 方法的第二个参数。因为从官网说,
它需要资源 id,而不是颜色 id。希望,现在,你能明白这件事。
尝试这个 :-
在您的 values.xml 中,创建 colors.xml 并添加以下行:
<color name="red">#FF0000</color>
Run Code Online (Sandbox Code Playgroud)
然后像这样调用这种颜色:-
snackbarView.setBackgroundColor(ContextCompat.getColor(context,R.color.red));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2145 次 |
| 最近记录: |