Wie kann ich die Farbe von android rating-bar ist ein Schlaganfall? (Nicht die Farbe von den Sternen, aber die GRENZE)
Ich bin ein android-Anfänger und ich möchte meine custom ratingBar.
Disclaimer: es ist nicht doppelt. da alle Beiträge die ich gelesen haben, fragt nach, wie ändern Sie die Farben der Sterne-und wie um die Kontur zu entfernen. Das ist NICHT das, was ich will. Ich will den Hub und in der Lage sein, ändern Sie die Farbe der Grenze.
Mit einem transparenten und gelben Strich, während Sie leer sind, und gelber hintergrund und ein Strich für halb-und gefüllt.
Möchte ich NICHT verwenden pngs. Ich habe meine eigene schon, aber Sie sind zu klein. Ich will nur nicht den designer bitten, neue zu machen, wenn ich kann die Sterne nur mithilfe von XML-Attributen und drawables.
<RatingBar
android:id="@+id/thread_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"
android:numStars="5"
android:progressBackgroundTint="@color/gray"
android:progressTint="@color/gold"
android:rating="2.5"
android:secondaryProgressTint="@color/gray"
android:stepSize="0.5"
style="?android:attr/ratingBarStyleSmall"
/>
Ich arbeite auf dieser mit einem anderen Ingenieur. Er schrieb auch code in einer java-Datei
private void setRatingBarStart(RatingBar rating_bar) {
LayerDrawable stars = (LayerDrawable) rating_bar.getProgressDrawable();
stars.getDrawable(2)
.setColorFilter(getResources().getColor(R.color.gold),
PorterDuff.Mode.SRC_ATOP); //for filled stars
stars.getDrawable(1)
.setColorFilter(getResources().getColor(R.color.light_gray),
PorterDuff.Mode.SRC_ATOP); //for half filled stars
stars.getDrawable(0)
.setColorFilter(getResources().getColor(R.color.light_gray),
PorterDuff.Mode.SRC_ATOP); //for empty stars
[So, jetzt hat es einen grauen hintergrund, gelb, gefüllt, und KEIN Schlaganfall jetzt.
Und ich will es haben transparenten hintergrund, gelb Schlaganfall und gelb gefüllt.
Sieht so aus
Ich weiß schon, wie, um den hintergrund transparent zu machen, und gelb. Ich weiß nur nicht, wie Sie zum festlegen der Konturfarbe. Vielen Dank!!!!
- Mögliche Duplikate von Android RatingBar ändern star-Farben
- Schauen unter diesem thread.. stackoverflow.com/questions/5800657/... Nur drei verschiedene png für stras(leer, gefüllt, und die Hälfte gefüllt) mit Schlaganfall und innere Farbe und der job ist getan
- Hi Danke für dein Kommentar. Ich will NICHT die pngs. Ich habe Sie schon, aber Sie sind zu klein. Ich versuche, nicht den designer bitten, neue zu machen, wenn ich kann die Sterne mit der XML-Attribute
- check meine Antwort.
- Ich verstehe nicht das problem mit den PNGs, können Sie die Größe, die Sie wollen, und ich denke, das ist die einzige Lösung, wenn Sie möchten, eine benutzerdefinierte Bewertung bar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen alle drawable Farbe Gelb(in Ihrem Fall
getResources().getColor(R.color.gold)
für alle) für das festlegen von Konturen und hintergrund. (für hintergrund -, Sekundär-Fortschritt und Fortschritt)entfernen
progressBackgroundTint
,progressTint
,secondaryProgressTint
Attribute ausRatingBar
auch nicht notwendig.und das Ergebnis ist ::
Hoffe das hilft (rosa Farbe ist nur Hintergrundfarbe)
nach Satz drawable 1 und 0 rot:
drawable(0)
unddrawable(1)
Farbe rot wiestars.getDrawable(0).setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP); stars.getDrawable(1).setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);
es wird sich ändern Sie Ihre Grenze und teilweise zu füllen Grenze. 3. layerdrawable gelb nur zum Teil füllenNicht jede Bibliothek verwenden oder style für, die. Verwenden Balg Schritt erhalten Sie das Ergebnis.
erstellen Sie eine Datei im drawable Ordner custom_ratingbar.xml
dann verwenden Sie Folgendes in Ihrer RatingBar :
Denke ich, dass ich tatsächlich gefunden, was Sie brauchen. Erstellen Sie eine benutzerdefinierte
RatingBar
wie in diesem Antwort ABER Sie müssen verwenden Sie Vektor-drawables und nicht-standard diejenigen.Können Sie download die 3 drawables (voll, halb und leer) auf dieser website:
https://materialdesignicons.com/
Oder durch ein Rechtsklick auf Ihre
res
Ordner: --> Neu --> Vektor asset auf Android-Studio.Hier sind die 3 XML-drawables in den Fall, Sie finden Sie nicht:
Voller Sterne:
Halben Stern:
Leeren Stern:
Um die Größe zu ändern, aktualisieren Sie einfach die Attribute
height
undwidth
.Ändern Ihre Farbe, aktualisieren Sie einfach das Attribut
fillColor
und stellen Sie Ihre gelbe Farbe.Eine Weitere Möglichkeit ist das erstellen von benutzerdefinierten Bewertung bar, wenn Sie haben noch keine Bilder, Folgen Sie untenstehenden Schritten. Dies gilt für alle Datei-erstellen im drawable-Ordner.
emptystar.xml
full_star.xml
half_star.xml
food_ratingbar_full_empty.xml
food_ratingbar_full_filled.xml
food_rating_bar.xml
style.xml
In Ihrem layout
hi, diese zu verwenden, und verwenden Sie border-image als star https://github.com/ome450901/SimpleRatingBar als icon_starempty und icon_starfilled sind Ihre jeweiligen Bilder