我想改变我的小吃吧的颜色
snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED));
我得到这样的:
android.content.res.Resources$NotFoundException: Resource ID #0xffff0000
凡肯定
为0xffff0000
代表RED.But w它不能找到这个资源? 有什么帮助吗?
我想改变我的小吃吧的颜色
snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED));
我得到这样的:
android.content.res.Resources$NotFoundException: Resource ID #0xffff0000
凡肯定
为0xffff0000
代表RED.But w它不能找到这个资源? 有什么帮助吗?
试试这个: -
在你values.xml,创建colors.xml并添加以下行:
<color name="red">#FF0000</color>
然后调用这个颜色是这样的: -
snackbarView.setBackgroundColor(ContextCompat.getColor(context,R.color.red));
你得到
资源$ NotFoundException:资源编号为0xffff0000
此异常由资源的API时,抛出该请求的资源不能被发现。
创建自定义colors.xml
持有的色彩。
RES /价值/ colors.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff0000 </color>
</resources>
然后
setBackgroundColor(ContextCompat.getColor(context, R.color.red));
或简单的
setBackgroundColor(Color.parseColor("#ff0000"));
尝试设置背景色这样的:
snackbarView.setBackgroundColor(ContextCompat.getColor(context, R.color.RED));
Color.RED是颜色不是ID。你应该这样做:
snackbarView.setBackgroundColor(Color.RED);
使用:snackbarView.setBackgroundColor(Color.RED);
不是:snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED));
原因:
看那official android developer site。
所以,你可以直接给它添加一种颜色。无需为其添加ContextCompat.getColor()方法。
如果你想利用这一点,请使用有效的资源ID,而不是颜色标识作为的getColor方法的第二个参数。 因为从official website它说,
它需要的资源ID,而不是颜色标识。希望,现在,你可以理解这件事。
虽然这段代码可能会回答这个问题,提供额外的[上下文](https://meta.stackexchange.com/q/114762)关于_how_和/或_why_它解决了这个问题将改善答案长期的价值。请记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请[编辑](http://stackoverflow.com/posts/43248434/edit)您的答案添加一个解释,并指出适用的限制和假设。它也不会提到为什么这个答案比其他答案更合适。 –
谢谢。我会提供它。 –
您将Color.RED(一个int值)视为resourceId。逻辑错误! 只是使用Color.RED insted。 snackbarView.setBackgroundColor(Color.RED)
'Color.RED'是一个实际的颜色值,而不是资源名称。如果你想'Color.RED',直接使用它 - 'setBackgroundColor(Color.RED)'。 –
完成,谢谢@MikeM。 其实我很困惑,因为他们提出了一个问题: http://stackoverflow.com/questions/34020891/how-to-change-background-color-of-the-snackbar –
任何以'R.color'是项目中颜色资源的资源名称,对于那些使用'ContextCompat.getColor()'获取实际值的人员。但是,Color类有几个常量,例如Color.RED,Color.BLUE等,它们都是实际的颜色值。您不需要从资源中获取这些内容。 –