这可能看起来像一个简单的问题,但我对此持续了1小时的打击。
我已在color.xml
文件中声明了颜色,但遗憾的是在将color属性设置为textview时无法获取这些颜色。
Color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="dark_snuff">#2d3037</color>
<color name="silver">#C0C0C0</color>
<color name="dark_gray">#A9A9A9</color>
</resources>
layout.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dip"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView19"
android:layout_width="match_parent"
android:layout_height="40dip"
android:text="Date"
android:textAppearance="?android:attr/textAppearanceLarge"
android:background="@android:Color/dark_snuff"/>//error part
</LinearLayout>
错误:
error: Error: No resource found that matches the given name (at 'background' with value '@android:Color/
dark_snuff').
请帮我解决这个问题。
感谢您的时间。
答案 0 :(得分:1)
只需写下@color/dark_snuff
即可。应该这样做!
编辑为@Machinarius说,前缀android
指的是Android内置颜色的命名空间,而你想要自己项目中的颜色。此外,在资源标识符中,所有内容都必须是小写的,因此即使您尝试访问的资源存在于相应的命名空间中,大写的Color
也不会起作用。
答案 1 :(得分:1)
@android:Color/dark_snuff refers to the default built-in colors available in android. So plase use android:background="@color/dark_snuff" which WILL do the trick.
答案 2 :(得分:1)
@android:color/...
用于从Android库获取资源颜色。而@color/...
用于从colors.xml
文件中获取资源颜色(最后使用&#34; s
&#34;并且没有上限)到应用程序中。
android:background="@color/dark_snuff"
应该是获取您自己的color
项的解决方案。但是,如果您想使用Android资源颜色,则如下所示:
android:background="@android:color/darker_gray"
没有上限。您可以在Resources Documentation中找到所有这些内容。
答案 3 :(得分:0)
您需要在xml中创建一组样式(定期在res / values / styles.xml中)
<color name="gray">#eaeaea</color>
<color name="titlebackgroundcolor">#00abd7</color>
<color name="titlecolor">#666666</color>
在布局文件中,您可以调用颜色或样式:
android:textColor="@color/titlecolor"
答案 4 :(得分:0)
首先,您不应该使用Caps(大写字母)保存文件名,如果您正在调用的应用程序res文件夹应该@color/dark_snuff
不像@android:Color/dark_snuff