2016-07-14 86 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