2015-03-21 26 views
5

mam poniżej rozciągliwejRipple wymaga poziomu API 21 (aktualny min to 11), Androida?

<?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> 

i otrzymuję ten błąd

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

Jak go rozwiązać?

Odpowiedz

19

Używasz minsdk = 11.

Nie możesz używać tego rozciągliwej z api < 21.

Musisz użyć różny obraz wersje tego rozciągliwej pliku.
Umieść ten kod w res/drawable-v21/myRipple.xml i utworzyć inny res/drawable/myRipple.xml

0

Chociaż prawdą jest, że znacznik został dodany w API 21, RippleDrawable jest dość prosta i jest możliwe, aby przenieść go z powrotem do API 1. Istnieje spora liczba bibliotek backport tętnienia dla starszych urządzeń. Aby uzyskać przykładową implementację, zobacz:

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

+0

Link nie może zostać otwarty! – pRaNaY

+0

zaktualizowana - plik był tam, ale został zmieniony od marca – Zielony