Есть ли способ, которым я могу сделать градиент для моего просмотра рейтинга, с которым я согласен, если мне нужно нарисовать эти «ZZZZZ» в методе onDraw вместо определения в 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);
}
Кроме того, я не уверен, возможен ли плавный градиент, когда я двигаю пальцем, но я знаю, что могу иметь градиент, используя объект рисования. Для целей тестирования я сделал -
paint.setShader(new LinearGradient(0,0,0,getPaint().getTextSize()/2,Color.BLACK,Color.GREEN, Shader.TileMode.CLAMP));
Я еще не реализовал событие onTouch. Но я пытаюсь найти все свои возможности, прежде чем попаду в событие onTouch. Вещи, которые я ищу
- Может ли расширяемый текст иметь градиент (в настоящее время рассматривается Dynamic Spannable)
- Может ли представление рейтинга иметь собственный рисунок (рисунок от маленького до крупного и градиентный при касании).
Ожидание
Результат на данный момент