在XML drawable中使用主题引用需要API级别21

时间:2017-01-14 14:01:32

标签: android android-theme xml-drawable android-api-levels

有没有办法让以下代码与较低的API级别兼容:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="?android:attr/selectableItemBackground"/>

    <item android:gravity="bottom">
        <shape android:shape="rectangle">
            <size android:height="1px"/>
            <solid android:color="#ccc"/>
        </shape>
    </item>

</layer-list>

部分:android:drawable="?android:attr/selectableItemBackground"生成此消息:

  

在XML drawable中使用主题引用需要API级别21(当前最小值为15)

2 个答案:

答案 0 :(得分:0)

在values文件夹下创建一个attars.xml文件。

在attars.xml文件中,为selectableItemBackground创建一个项目:

getTestName()

在styles.xml中使用drawable定义此属性:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <attr name="selectableItemBackground" format="reference" />
</resources>

然后在您的可绘制文件中,引用属性:

<item name="selectableItemBackground">@drawable/yourDrawable</item>

答案 1 :(得分:-1)

使用android:drawable="?attr/selectableItemBackground"