栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android用2种颜色绘制圆(饼图)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android用2种颜色绘制圆(饼图)

这只是一个提示。这只是一个在同一矩形上绘制两个弧的视图:第一个弧的角度范围为0到360。第二个弧的角度范围(从第一个角度开始)从0到一个角度,该角度取决于百分比。

public class PercentView extends View {    public PercentView (Context context) {        super(context);        init();    }    public PercentView (Context context, AttributeSet attrs) {        super(context, attrs);        init();    }    public PercentView (Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        init();    }    private void init() {        paint = new Paint();        paint.setColor(getContext().getResources().getColor(R.color.lightblue));        paint.setAntiAlias(true);        paint.setStyle(Paint.Style.FILL);        bgpaint = new Paint();        bgpaint.setColor(getContext().getResources().getColor(R.color.darkblue));        bgpaint.setAntiAlias(true);        bgpaint.setStyle(Paint.Style.FILL);        rect = new RectF();    }    Paint paint;    Paint bgpaint;    RectF rect;    float percentage = 0;    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        //draw background circle anyway        int left = 0;        int width = getWidth();        int top = 0;        rect.set(left, top, left+width, top + width);         canvas.drawArc(rect, -90, 360, true, bgpaint);        if(percentage!=0) { canvas.drawArc(rect, -90, (360*percentage), true, paint);        }    }    public void setPercentage(float percentage) {        this.percentage = percentage / 100;        invalidate();    }}

添加到您的布局:

<bla.bla.PercentView android:id="@+id/percentview" android:layout_width="100dp" android:layout_height="100dp" />


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614096.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号