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

12,668

Solution 1

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

Solution 2

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

Share:
12,668
WISHY
Author by

WISHY

Updated on June 14, 2022

Comments

  • WISHY
    WISHY almost 2 years

    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?