个人感觉,android自带的那个评分控件实在是坑爹的,想要换个样式,颜色,大小,间距什么的,各种状况漫天飞,用着各种不爽。看了一位大神的文章,再加上自己琢磨一下,今天用linearlayout,自己搞个ratingbar,效果还是相当不错的。
自定义ratingbar控件
1.首先在res/values下面新建一个attrs.xml文件
内容如下
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="RatingBar"> <!--星星大小--> <attr format="dimension" name="starImageSize"/> <!--星星个数--> <attr format="integer" name="starCount"/> <!--星星空图--> <attr format="reference" name="starEmpty"/> <!--星星满图--> <attr format="reference" name="starFill"/> <!--星星半图--> <attr format="reference" name="starHalf"/> <!--是否可以点击评分--> <attr format="boolean" name="clickable"/> </declare-styleable> </resources>
2.新建一个类RatingBar继承LinearLayout
RatingBar extends LinearLayout
定义变量
private boolean mClickable; private int starCount;