android中评分的控件,Android评分RationBar控件使用详解

本文介绍了如何在Android中自定义一个评分控件SuperRationBar,通过创建一个继承自View的类并实现相关逻辑,支持MIXED和SCROLL两种模式。控件使用详细代码示例,包括属性设置、图片资源处理和触摸事件响应,可直接应用于项目中,通过getSelectNumber()获取当前评分。
摘要由CSDN通过智能技术生成

Android评分RationBar控件,供大家参考,具体内容如下

主要是不想用太多三方的控件,所以决定尽可能自己写,最近有写一个评分的页面,废话不多说直接上图

7f0abeb225b99a346a73dea2092161d5.png

我觉得嘛 这个东西用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值