Ich habe eine Bewertungsleiste in einem Layout hinzugefügt :
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="1.0"
/>
Der Standardstil für die Bewertungsleiste ist jedoch zu groß.
Ich habe versucht, es durch Hinzufügen des Android-Stils zu ändern:style="?android:attr/ratingBarStyleSmall"
Das Ergebnis ist jedoch zu klein und es ist unmöglich, mit dieser Eigenschaft eine Rate festzulegen.
Wie könnte ich tun?
Wie man den hier angegebenen Code klebt ...
Schritt 1. Sie benötigen Ihre eigenen Bewertungssterne in
res/drawable
...Schritt 2 In
res/drawable
Sie müssenratingstars.xml
wie folgt ...Schritt 3 In
res/values
Sie müssenstyles.xml
wie folgt ...Schritt 4 In Ihrem Layout ...
quelle
Benutz einfach:
Ändern Sie den Skalierungsfaktor entsprechend Ihren Anforderungen.
Um zu skalieren, ohne links eine Polsterung zu erstellen, fügen Sie hinzu
quelle
codeandroid:scaleX="0.75" android:scaleY="0.75" android:layout_marginRight="-25dp"
android:layout_height="40dp"
Es ist nicht erforderlich, dem Listener einen Listener hinzuzufügen
?android:attr/ratingBarStyleSmall
. Fügenandroid:isIndicator=false
Sie einfach hinzu und es werden Klickereignisse erfasst, zquelle
das kleine vom Betriebssystem implementieren
quelle
wende dies an.
quelle
Ich fand eine einfachere Lösung als ich denke, die von den oben genannten gegeben wurde und einfacher als Ihre eigene zu rollen. Ich habe einfach eine kleine Bewertungsleiste erstellt und dann einen onTouchListener hinzugefügt. Von dort aus berechne ich die Breite des Klicks und bestimme daraus die Anzahl der Sterne. Nachdem ich dies mehrmals verwendet habe, ist die einzige Besonderheit, die ich gefunden habe, dass das Zeichnen eines kleinen Bewertungsbalkens in einer Tabelle nicht immer richtig ausfällt, es sei denn, ich füge es in ein LinearLayout ein (sieht im Editor richtig aus, aber nicht im Gerät). . Wie auch immer, in meinem Layout:
und innerhalb meiner Tätigkeit:
Ich hoffe das hilft jemand anderem. Auf jeden Fall einfacher als das eigene Zeichnen (obwohl ich festgestellt habe, dass das auch funktioniert, aber ich wollte nur eine einfache Verwendung von Sternen).
quelle
ratingBarStyleSmall
Sterne sind wirklich zu klein, um nützlich zu sein. Ich denke, ich muss meine eigenen rollen, um Sterne mittlerer Größe zu erhalten.quelle
// füge diese Zeile für eine kleine Bewertungsleiste hinzu
quelle
Obwohl die Antwort von Farry funktioniert, hat RatingBar für Samsung-Geräte eine zufällige blaue Farbe anstelle der von mir definierten angenommen. Also benutze
stattdessen.
Vollständiger Code zur Verwendung:
quelle
Die beste Antwort für kleine Bewertungsbalken
quelle
Verwenden Sie diesen Code
quelle
quelle
Die beste Antwort, die ich bekommen habe
Benutzer wie dieser
Zunahme / Abnahme Größen unter Verwendung von scaleX und scaleY Wert
quelle
Verwenden Sie den folgenden Code für kleine Bewertungsbalken mit onTouch-Ereignis
quelle
Nach vielen Recherchen habe ich herausgefunden, dass die beste Lösung zur Reduzierung der Größe von benutzerdefinierten Bewertungsbalken darin besteht, die Größe des Fortschritts in bestimmten Größen wie unten erwähnt zeichnbar zu machen:
xxhdpi - 48 * 48 px
xhdpi - 36 * 36 px
hdpi - 24 * 24 px
Und mit Stil setzen Sie die Mini- und Max-Höhe für alle Auflösungen auf 16 dp.
Lassen Sie mich wissen, wenn dies nicht dazu beiträgt, die besten Bewertungsbalken für kleine Größen zu erhalten, da diese Größen meiner Meinung nach sehr kompatibel sind und dem Stilattribut bewertungsbalken entsprechen.
quelle
Es funktioniert für mich in der Bewertungsleiste xml style = "? Android: attr / reviewBarStyleSmall" add this.it wird funktionieren.
quelle
Ich löse dieses Problem wie folgt: style = "? Android: attr / reviewBarStyleSmall"
quelle