Android评分RationBar控件,供大家参考,具体内容如下
主要是不想用太多三方的控件,所以决定尽可能自己写,最近有写一个评分的页面,废话不多说直接上图
我觉得嘛 这个东西用ViewGroup包起来感觉会写很多View 于是我决定使用之定义控件 直接上代码
/**
* 评论专用星星
*
* 宽高都不能用wrap_content 必须使用固定值或者match_parent
*
* MIXED : 在控件的宽度范围内等分星星
*
* SCROLL:根据 星星的宽度和每个星星之间的间距画星星
*/
public class SuperRationBar extends View implements View.OnTouchListener {
final public static int MIXED = 0;
final public static int SCROLL = 1;
//不传默认为 MIXED
private int mode = MIXED;
// 需要建立多少星星 不传 默认为5
private int number = 5;
// 单个星星的宽度 这里宽度和高度相等 必传
private int startWidth = 50;
// 每个星星之间的间距 默认20 (mode == MIXED 用不到)
private int startPadding = 10;
//是否已经初始化试图
private boolean isInit = false;
//被选中的个数
private int selectNumber = 0;
//选中的样式
private Bitmap bmSel;
//未选中的样式
private Bitmap bmNol;
//记录每个星星的位置 用 , 分割
private List pointList;
// 画笔
private Paint mPaint;
public SuperRationBar(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
init(context);
}
private void init(Context context) {
mP