2010-03-17 7 views
5

Ich sehe keine Methode wie setStyle für Klasse RatingBar. Wie kann ich den Bewertungsstil vom Code festlegen?Set ratingbar Stil von Code

+1

Duplizieren: http://stackoverflow.com/questions/2016249/how-to-programmatically-setting-style-Attribut-in-view – Casebash

+3

kein Duplikat. Eine Bewertungsleiste hat verschiedene Eigenschaften und Funktionen. Dinge wie das Setzen der Sternbilder, Sternenhöhe, usw. werden NICHT durch diese Frage beantwortet. – StackOverflowed

Antwort

11

Dies funktioniert für mich (source):

RatingBar rating = 
    new RatingBar(context, null, android.R.attr.ratingBarStyleSmall); 
+0

Dies funktioniert nicht, aber die Ansicht funktioniert Datei –

2

Sie müssen es in XML-Datei festlegen! Wenn Sie es während der Ausführung ändern möchten, können Sie zwei verschiedene View-s (rb) verwenden und diese im Programm ändern (Hinzufügen/Entfernen aus dem Layout) oder rb1.setVisibility (View.VISIBLE) und rb2.setVisibility (View .WEG);

<RatingBar 
    android:layout_height="wrap_content" android:layout_width="wrap_content" 
    android:layout_alignParentRight="true" android:id="@+id/rb1" 
    style="?android:attr/ratingBarStyleSmall" 
    android:clickable="false" android:numStars="5"> 
</RatingBar> 
-1

Wenn Sie programmatisch die Bewertungsleiste erstellen, wie die Bewertung

Bewertungsleiste folgt = neue Bewertungsleiste (Kontext, null, android.R .attr.ratingBarStyleSmall);

dann nicht für get

rating.setIsIndicator (false) hinzuzufügen;

sonst funktioniert die Berührung nicht auf RatingBar.

Die android.R.attr.ratingBarStyleSmall gibt Ihnen sehr kleine Sterne, wenn Sie einen etwas größeren Sterne verwenden android.R.attr.ratingBarStyleIndicator haben wollen

+0

Kann mir bitte jemand sagen, warum diese Antwort herabgestuft wurde, wie ich diesen Code getestet habe und es funktioniert gut. –