2016-07-14 18 views
0

Gibt es einen Weg, ich kann Gradient für meine Bewertung anzeigen Drawable Ich bin OK mit, wenn ich diese "ZZZZZ" in OnDraw-Methode statt in Xml zu definieren, weil sie kleiner zu größer sein müssen. Anstatt die Klasse "RatingBar" zu erweitern, habe ich versucht, die Klasse "textview" zu erweitern und zu planen, das Ereignis onTouch (Move) zu verwenden, um die Bewertung von 1-5 zu erhalten. Korrigieren Sie mich, wenn Sie denken, dass die Erweiterung der RatingBar-Klasse noch eine bessere Idee wäre. Bisher war ich in der Lage verschiedene Textgröße zu erhalten, indem Sie -Android RatingBar Farbverlauf Drawable

for (int i = 0; i < text.length(); i++) { 
     SpannableStringBuilder sb; 
     fontSize += incrementFontBy; 
     paint.setTextSize(fontSize); 
     setTypeface(typeFace); 
     sb.setSpan(new AbsoluteSizeSpan(fontSize), i, character.length, 0); 
     setText(sb); 
    } 

Auch ich bin nicht sicher, ob spannable Gradient ist möglich, da ich meine Finger bewegen, aber ich weiß, dass ich Steigung mit Farbe Objekt haben kann. Für Testzwecke habe ich -

paint.setShader(new LinearGradient(0,0,0,getPaint().getTextSize()/2,Color.BLACK,Color.GREEN, Shader.TileMode.CLAMP)); 

Ich habe onTouch Event noch nicht implementiert. Aber ich versuche alle meine Möglichkeiten zu finden, bevor ich auf das onTouch Event stoße. Dinge, die ich suche ich für

  • Kann benutzerdefinierte Zeichnen von Text haben Gradienten (Blick auf Dynamische Spannable derzeit)
  • Can Bewertung Ansicht spannable haben (Zeichnung, die zu groß und Steigung auf Touch klein ist

Erwartung

enter image description here

Ergebnis bisher

enter image description here

Antwort

0

die Bewertungsleiste Erweiterung würde wahrscheinlich eine bessere Idee. Erstellen Sie einfach einen neuen Stil mit Ihren benutzerdefinierten Zeichenvorlagen und fügen Sie diesen Stil dem Stilattribut der RatingBar hinzu.

Ein detaillierterer Ansatz kann here gefunden werden.

Verwandte Themen