Ripple requires API level 21 (current min is 11),

2019-06-21 18:51发布

I have the below drawable

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

<item>
    <shape android:shape="oval" >
        <solid android:color="?android:colorAccent" />
    </shape>
</item>

And I am getting this error

<ripple> requires API level 21 (current min is 11)

How do I solve it?

2条回答
闹够了就滚
2楼-- · 2019-06-21 19:32

While it's true that the tag was added in API 21, RippleDrawable is pretty simple and it's possible to port it back to API 1. There's a good number of libraries backporting the ripple for older devices. For a sample implementation see:

https://github.com/ZieIony/Carbon/blob/master/carbon/src/main/java/carbon/drawable/ripple/RippleDrawableICS.java

查看更多
ゆ 、 Hurt°
3楼-- · 2019-06-21 19:53

You are using minsdk=11.

You can't use this drawable with api<21.

You have to use diffent versions of this drawable file.
Put this code in res/drawable-v21/myRipple.xml and create a different res/drawable/myRipple.xml

查看更多
登录 后发表回答