Android中自定义圆形选择器(可用于数字选择,评价选择等)

下面是自定义view代码,可以根据实际需求更改最大值,直接在xml中引用然后直接调用接口就可以获取滑动的数值public class Custom_SelectNnm_Circle extends View { private static final double RADIAN = 180 / Math.PI; private Context context; private
摘要由CSDN通过智能技术生成

下面是自定义view代码,可以根据实际需求更改最大值,直接在xml中引用然后直接调用接口就可以获取滑动的数值

public class Custom_SelectNnm_Circle extends View {
   

    private static final double RADIAN = 180 / Math.PI;
    private Context context;
    private Paint circle_Paint; //圆环的画笔
    private Paint select_Paint; //选中区域的画笔
    private Paint dot1;   //圆点1
    private int max_progress; //设置最大值
    public static  int cur_progress; //设置当前值
    private int bottom_color;//设置底色
    private int circle_color; //设置滑过的颜色
    private int circle_color2; //设置圆的颜色(锚点)
    private int cricle_width; //圆环的宽度
    private double cur_Angle;  //当前锚点1旋转角度
    private float mWheelCurX, mWheelCurY; //圆的位置
    private float ring_Radius;//圆环的半径
    private  OnSeekBarChangeListener changeListener; //设置监听

    public Custom_SelectNnm_Circle(Context context){
        this(context,null);
    }

    public Custom_SelectNnm_Circle(Context context, AttributeSet attrs) {
        this(context, attrs,0);
    }

    public Custom_SelectNnm_Circle(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        this.context=context;
        initAttrs(attrs,defStyleAttr);
        initPadding();
        initPaint();
    }

    private void initPaint(){

          /*
        圆环的画笔
         */
        circle_Paint=new Paint(Paint.ANTI_ALIAS_FLAG);
        circle_Paint.setAntiAlias(true);
        circle_Paint.setColor(bottom_color);
        circle_Paint.setStyle(Paint.Style.STROKE);
        circle_Paint.setStrokeWidth(cricle_width);

        /*
        选中区域的画笔
         */
        select_Paint=ne
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值