Ich benutze die Support-Bibliothek 22.1.1. Mein Ziel ist es, eine benutzerdefinierte Bewertungsleiste zu tönen, um zu vermeiden, dass mehrere Bilder in meine APK aufgenommen werden müssen.Benutzerdefinierte BewertungBar Färbung API <21 mit Support-Bibliothek 22.1.1
Die Abtönung wird korrekt auf API 22 angewendet, aber nicht auf API 19. Ich möchte, dass es auf API> = 16 funktioniert. Beachten Sie, dass ich versuche, nur den "Fortschritt" zu tönen, nicht den vollen Balken . Hier
ist der Bewertungsleiste Stil:
<style name="customRatingBar" parent="Widget.AppCompat.RatingBar">
<item name="android:progressDrawable">@drawable/custom_ratingbar</item>
<item name="android:minHeight">24dp</item>
<item name="android:maxHeight">24dp</item>
<item name="android:progressTint">@color/md_red_700</item>
<item name="android:secondaryProgressTint">@color/md_red_700</item>
</style>
Und die custom_ratingbar.xml
Datei:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/ic_heart_outline_grey600_24dp" />
<item android:id="@android:id/progress"
android:drawable="@drawable/ic_heart_grey600_24dp" />
</layer-list>
es auf diese Weise in meinem Layout angewendet wird, die in einem Fragment erstreckt android.support.v4.Fragment
sich innerhalb einer Aktivität erstreckt android.support.v7.app.AppCompatActivity
:
<RatingBar
android:layout_width="wrap_content"
android:layout_height="22dp"
android:id="@+id/checkin_rating"
style="@style/customRatingBar"
android:isIndicator="true"
android:numStars="5"
android:stepSize="1"
android:layout_marginBottom="8dp"/>
Ich erhalte eine Warnung von den Lint-Tools, dass android:progressTint
nicht von API unterstützt wird. < 21. Gibt es eine Möglichkeit, dies zu erreichen, ohne mehrere Zeichen zu verwenden?
auf 4.1.1 die ziehbar von getProgressDrawable zurück nicht zu LayerDrawable gegossen und gibt eine Ausnahme bei –
Dank Gary, Dies hat mir geholfen, meine unten beschriebene Lösung zu finden. –