我该如何在低于21的安卓API中替换<ripple ..>?

3

如果我的android api版本小于21,那么我可以用什么替代在api 21中引入的<vector>标签?例如,在我的drawable文件夹中有这个xml:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="@color/al_ripple_material_light">
  <item android:id="@android:id/mask">
    <color android:color="@android:color/white" />
  </item>
</ripple>

即使在低于21版本的情况下,我也不需要水波纹效果。


什么都不用做。将该xml文件放置在/values-v21目录下,这是针对API版本大于21的用户提供的替代/values目录的xml文件。 - azizbekian
谢谢,但普通的XML内容会是什么? - user7905708
1个回答

1
在这种情况下,如果您仍然想要具有涟漪效果,请使用一些库。 如果您仍想保留此xml并替换涟漪标记,请将此xml文件放入drawable-v21文件夹中,并将带有普通标记的xml放入drawable文件夹中。

你能告诉我这个drawable的目的是什么吗?是为了在点击时改变按钮或视图的颜色吗? - Nguyễn Gia Lễ
老实说,我不知道,这是我从一些库中复制的,我试图将其回溯到KitKat。如果有帮助的话,文件名是item_background_material_light。 - user7905708
1
至少你要知道你在使用这个drawable的目的是什么,如果不知道,就把它留空或者尝试(为了View点击)使用下面的xml,并用不同状态替换颜色。 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/white" android:state_focused="true"/> <item android:drawable="@android:color/white" android:state_pressed="true"/> <item android:drawable="@android:color/transparent"/> </selector> - Nguyễn Gia Lễ
哦,好的,我用形状替换涟漪,也许可以吗? - user7905708
所有标签都可以运行,但是你需要知道它们在UI上的作用,才能决定是否使用。 - Nguyễn Gia Lễ
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接