当设置背景颜色时,无法将@color/Blue转换为可绘制项。

5

res/layout/activity_main.xml

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:background="@color/Blue">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     />
</RelativeLayout>

同时,res/values/colors.xml。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="Blue">#0000FF</color>
</resources>

如您所见,颜色代码以#开头。

这段代码就是您看到的那样。


它以 <color name="Blue">#0000FFF</color> 开始。 - user2844259
你的蓝色应该只有六个字符吗?所以应该是#0000FF而不是#0000FFF。 - MrEngineer13
使用此网站指定您的颜色 http://www.colorhexa.com/0000ff - user2844259
2个回答

11

我必须前往文件-->无效缓存/重启。

这个bug在Android Studio中仍未得到修复,让我惊讶的是,搜索SO可以发现它以不同的方式影响了其他人。


即使我进行了无效化和重启,错误仍然持续发生。我的操作系统是OS X,使用的是Android Studio 1.2.2。 - Aaron
@Aaron 我也遇到了同样的问题,找到解决方案了吗? - Timothy Frisch
我从未找到一个,很抱歉 :( - Aaron

0

不要通过color.xml添加颜色,而是直接通过哈希颜色代码将颜色值直接添加到activity_main.xml中。例如,在您的情况下:android:background="#0000FF"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接