Мне нужно сделать точную рейтинговую панель с 5 звездами, но когда у меня есть что-то вроде 2,7 рейтинга, мне нужно иметь 2,7 звезды в белом, другие - серые. Я что-то думал с баром искателя. Я добавил 5 звезд и могу легко сделать 4 серого цвета, когда у меня есть рейтинг 1, но не уверен, как сделать их частично окрашенными.Как сделать точную рейтинговую панель в Android?
У меня есть что-то вроде этого сейчас:
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
setStars(i);
}
private void setStars(int stars){
switch (stars){
case 0:
star1.setVisibility(GONE);
star2.setVisibility(GONE);
star3.setVisibility(GONE);
star4.setVisibility(GONE);
star5.setVisibility(GONE);
break;
case 2:
star1.setVisibility(VISIBLE);
star2.setVisibility(GONE);
star3.setVisibility(GONE);
star4.setVisibility(GONE);
star5.setVisibility(GONE);
break;
И так далее, но мне нужно, чтобы быть точным. Я знаю, что, возможно, могу сделать 10 состояний звезды за 1/10, 2/10 заполненных и т. Д., Но это будет слишком много работы.
Добавьте кода, пожалуйста, чтобы люди могли понять, где его можно улучшить. –
Это поможет вам: http://www.javatpoint.com/android-rating-bar-example –
Я знаю, что у Android есть RatingBar, но это уродливо и не просто изменить. И это не делает то, что я хочу, у вас нет рейтинга 3.7 или 3.8. Вот почему я должен придумать что-то обычай. Я даже не могу найти хорошую библиотеку, и есть один для почти всего:/ – STARGATEBG