2016-07-14 78 views
0

有沒有一種方法可以讓我有我的評級觀點梯度繪製我與我是否需要繪製的onDraw方法,而不是在XML定義,因爲他們需要的是從小到大的「ZZZZZ」 OK。因此,而不是擴展的RatingBar類的我試圖擴展的TextView類,並計劃使用onTouch(移動)事件,以1-5獲得了評級。如果你認爲擴展RatingBar類將是更好的主意,請糾正我。到目前爲止,我可以用得到不同的文字大小 -的Android的RatingBar梯度繪製

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); 
    } 

另外,我不知道,如果spannable梯度是可能的,我將我的手指,但我知道我可以用噴漆的對象有梯度。出於測試目的,我沒有 -

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

我還沒有實現onTouch事件還。但是我在進入onTouch事件之前試圖找到所有可能性。我正在尋求

  • 能spannable文字的東西有梯度(查看當前動態Spannable)
  • 燦評級觀點已自定義繪製(繪製是從小到大,坡度觸摸

期望

enter image description here

結果到目前爲止

enter image description here

回答

0

擴展的RatingBar可能會是一個更好的主意。只需使用自定義的可繪製對象創建新樣式,然後將該樣式添加到RatingBar的樣式屬性中即可。

更詳細的方法可以找到here