以前,我有一个按钮,其背景使用的是?attr/actionBarItemBackground
(?attr/actionBarItemBackground
来自Android系统本身)
<Button
android:gravity="center"
android:textSize="18sp"
android:minHeight="56dp"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="?attr/actionBarItemBackground"
android:text="1" />
对于21级及以上的API,我希望它具有稍微不同的可绘制对象。因此,我做了以下修改。
<Button
android:gravity="center"
android:textSize="18sp"
android:minHeight="56dp"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="?attr/keypadBackground"
android:text="1" />
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight"
android:radius="40dp" />
<?xml version="1.0" encoding="utf-8"?>
<item xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="?attr/actionBarItemBackground" />
<item name="keypadBackground">@drawable/keypad_background_light</item>
但是,当我在API 12上运行时,会收到以下错误消息。
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/keypad_background_light.xml from drawable resource ID #0x7f0800c7