2012-01-04 3 views
8

Я работаю над приложением, которому нужно создать не редактируемый малый барометр с 4 звездами динамически.Оценка бара, показывающая только половину звезд вместо полных звезд

Когда я звоню setRating(4), он показывает 4 звезды без проблем. Но когда я звоню setRating(3), он показывает 3 и половину звезд. setRating(2) показывает 2 звезды правильно, , но setrating(1) показывает 1 и половину звезд.

Когда я использую обычную рейтинговую панель в другом действии, она работает нормально, но когда я использую малый стиль, не редактируемый балл рейтинга, он не работает должным образом.

Имеет ли это какое-либо отношение к уровню api или небольшому стилю, который не редактируется?

Инициализация осуществляется следующим образом:

RatingBar ioRatingBar = new RatingBar(this,null,android.R.attr.ratingBarStyleSmall); 
ioRatingBar.setNumStars(4); 

ioRatingBar.setRating(3); 

ответ

14

Вы должны set the step size в RatingBar как этот

ratingBar.setStepSize(1.0); 

, а также попытаться определить max rating как:

ratingBar.setMax(4); 
+0

это сработало, когда я ставлю оценкуBar.setMax (4) ;. спасибо. – akhil

1

If есть padding, удалять. Я предлагаю заменить margin.