自定义RatingBar的样式

写星座运势,难免要写RatingBar。

用法:

1.属性

android:numStars : 星星个数

android:rating : 默认点亮的星星星星个数

android:stepSize  : 步进数,1,0.5是常用值


2.监听:setOnRatingBarChangeListener


RatingBar自定义成自己需要的样式:

需要写一个style继承系统的Ratingbar样式,再在其中自定义一些自己需要的样式,Ratingbar和进度条很像,可以仿造自定义进度条样式来写。

代码如下:


自定义RatingBar的样式_第1张图片
自定义Ratingbar样式

其中@android:style/Widget.Holo.RatingBar.Indicator是安卓系统定义的Ratingbar样式

系统样式:

"@android:style/Widget.RatingBar" 默认

@android:style/Widget.Material.RatingBar

@android:style/Widget.DeviceDefault.RatingBar

small 小    light 亮    Indicator 指示器,仅做展示,不能打分

其中@drawable/myratingbar:


自定义RatingBar的样式_第2张图片

backgroud:是用来填充背景图片的,和进度条非常类似,当我们设置最高评分时(android:numStars),系统就会根据我们的设置,来画出以星星为单位的背景(假如android:numStars="5",就会画出5颗灰色的星星)

progress:是用来在背景图片基础上进行填充的指示属性(和进度条类似,第一进度位置)

secondaryProgress:同progress一样属于第二进度位置(如果不定义这个,进度条拖动,每次就画出一整颗星星(亮),第二进度(暗)没有覆盖掉第一进度之后的位置,从左往右是拖不出来N.5颗星星的,这样评分效果就不完整)

你可能感兴趣的:(自定义RatingBar的样式)