Android Studio 1.4.0 Drawable-v21项目被忽略,转而使用Drawable

时间:2015-11-05 22:05:51

标签: android android-layout android-animation android-5.0-lollipop

我对这个问题的描述有一个非常类似的问题,但答案是hacky而不是真正的答案,尽管它有效。

Android Studio 1.4: drawable-v21 ignored when using "File/New/Vector Asset" option

我有一个按钮,我想在pre21设备上应用按下的颜色,并在v21 +设备上使用纹波。

在drawable文件夹中我有button_primary_theme

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <solid android:color="@color/themePimaryrOnePressed" />

        </shape>
    </item>
    <item>
        <shape>
            <solid android:color="@color/themePrimaryOne" />
        </shape>
    </item>
</selector>

在drawable-v21文件夹中我有

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?attr/colorControlHighlight">
    <item android:drawable="?attr/colorPrimary"/>
</ripple>

无论我做什么,我都无法使用我的Lollipop设备上的v21文件夹中的涟漪效果。它一直使用前棒棒糖可绘制。

<Button
android:id="@+id/getting_started"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_primary_theme" />

在另一个答案中,他为v21效果创建了一个单独命名的文件,但这意味着除了新的drawable之外我还需要一个新的布局副本,并且不需要这样做才能使它工作

我已尝试清理该项目,但仍使用非v21 drawable。

如何在不制作所有内容的副本的情况下使其工作?

1 个答案:

答案 0 :(得分:1)

看起来这是我的错。希望这可能有助于其他人。

我的普通drawable实际上是在drawable-nodpi文件夹中,而不是drawable。我猜这是以某种方式覆盖v21文件夹版本。