android开发:自定义控件之--抽奖转盘

看网上也有些例子,看着挺有意思。本人之前面试的时候也遇到面试官询问这样的问题,那时候我其实没有清晰的思路,就大体说了下图形绘制过程,需要画笔、画布,设置下各自属性,可以画圆、画弧、画图、画线等。闲话不多说了,直接看看怎么实现的。 效果图:1.自定义TurnTableView,继承自View. 初始化的地方,主要是设置了下画笔的属性等。 // 初始化数据 private void in
摘要由CSDN通过智能技术生成

看网上也有些例子,看着挺有意思。本人之前面试的时候也遇到面试官询问这样的问题,那时候我其实没有清晰的思路,就大体说了下图形绘制过程,需要画笔、画布,设置下各自属性,可以画圆、画弧、画图、画线等。闲话不多说了,直接看看怎么实现的。

效果图:

这里写图片描述

1.自定义TurnTableView,继承自View.
初始化的地方,主要是设置了下画笔的属性等。

    // 初始化数据
    private void init(Context context) {
        this.context = context;

        paint = new Paint();
        paint.setColor(Color.RED);// 设置颜色
        paint.setAntiAlias(true);// 去除锯齿效果,会消耗较大资源,绘制图形速度会变慢
        paint.setDither(true);// 防抖动
        paint.setStyle(Paint.Style.STROKE);// 空心
        paint.setStrokeWidth(strokeWidth);// 设置空心边框的宽度
        paint.setAlpha(100);// 透明度
        paint.setARGB(100, 0, 255, 255);// 设置绘制的颜色,a代表透明度,r,g,b代表颜色值。

        textPaint = new Paint();
        textPaint.setColor(Color.RED);// 设置颜色
        textPaint.setTextSize(20);

        // 设置下,对于viewgroup能调用onDraw
        setWillNotDraw(false);
        setKeepScreenOn(true);
    }

2.onMeasure()里拿到测量后的控件的宽高值,取最小值为直径radius,并初始化rangeRectF类对象&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值