我想将color.xml
文件用于我的按钮,但它显示此错误并且应用程序崩溃。它说,它找不到color.xml
文件。
Caused by: android.content.res.Resources$NotFoundException: File res/color/color.xml from drawable resource ID #0x7f0e00dd
at android.content.res.Resources.loadDrawableForCookie(Resources.java:3783)
at android.content.res.Resources.loadDrawable(Resources.java:3651)
at android.content.res.TypedArray.getDrawable(TypedArray.java:762)
at android.view.View.<init>(View.java:3983)
at android.widget.TextView.<init>(TextView.java:1021)
at android.widget.Button.<init>(Button.java:115)
at android.widget.Button.<init>(Button.java:108)
at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:62)
at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:5
这是我的按钮xml:
<Button
android:id="@+id/btn_buy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@color/color"
android:textColor="@color/mdtp_white"
android:text="@string/buy"/>
这是我的color.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/grey" />
<item android:color="@color/myRedColor"/>
</selector>
答案 0 :(得分:2)
在Drawable文件夹中创建color.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@color/grey" />
<item android:state_pressed="true" android:drawable="@color/myRedColor" />
</selector>
使用color.xml作为按钮
中的背景<Button
android:id="@+id/btn_buy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
// here
android:background="@drawable/color"
android:textColor="@color/mdtp_white"
android:text="@string/buy"/>
答案 1 :(得分:1)
将color.xml文件粘贴到drawble文件夹中,并将color.xml添加为按钮,如此
<Button
android:id="@+id/btn_buy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/color"
android:textColor="@color/mdtp_white"
android:text="@string/buy"/>
答案 2 :(得分:1)
android:background
属性需要drawable
资源。您只需将color.xml
文件移至drawable
文件夹即可。
答案 3 :(得分:1)
将 color.xml 文件放在drawable
在 drawable \ color.xml 文件中进行更改
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@color/grey" />
<item android:drawable="@color/myRedColor"/>
</selector>
按钮xml
<Button
android:id="@+id/btn_buy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/color"
android:textColor="@color/mdtp_white"
android:text="@string/buy"/>
答案 4 :(得分:0)
最后,我修正了错误。我看起来很奇怪,但它有效。首先,将color.xml
移至可绘制文件夹。然后更新color.xml
,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false">
<color android:color="@color/grey"/>
</item>
<item>
<color android:color="@color/myRedColor"/>
</item>
</selector>