有没有办法可以为我的评级视图设置渐变可绘制如果我需要在onDraw方法中绘制那些“ZZZZZ”而不是在xml中定义,因为它们需要更小到更大。因此,我没有扩展RatingBar类,而是尝试扩展textview类并计划使用onTouch(Move)事件来获得1-5的评级。如果您认为扩展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对象进行渐变。出于测试目的,我做了 -
paint.setShader(new LinearGradient(0,0,0,getPaint().getTextSize()/2,Color.BLACK,Color.GREEN, Shader.TileMode.CLAMP));
我还没有实现onTouch事件。但在进入onTouch事件之前,我正试图找到所有可能性。我正在寻找的东西
期望
到目前为止的结果
答案 0 :(得分:0)
扩展RatingBar可能是个更好的主意。只需使用自定义drawable创建新样式,并将该样式添加到RatingBar的style属性。
可以找到更详细的方法here。