用不同的边框颜色Android绘制圆圈

public static Bitmap drawCircle(int width,int height,int borderWidth) {
    Bitmap canvasBitmap = Bitmap.createBitmap( width,height,Bitmap.Config.ARGB_8888);
    BitmapShader shader = new BitmapShader(canvasBitmap,TileMode.CLAMP,TileMode.CLAMP);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setShader(shader);
    paint.setShader(null);
    paint.setStyle(Paint.Style.stroke);
    paint.setColor(Color.WHITE);
    paint.setstrokeWidth(borderWidth);  
    Canvas canvas = new Canvas(canvasBitmap);
    float radius = width > height ? ((float) height) / 2f : ((float) width) / 2f;
    canvas.drawCircle(width / 2,height / 2,radius - borderWidth / 2,paint);
    return canvasBitmap;
}

简单的这个代码绘制一个带有白色边框的圆圈,但是我希望边框的一部分是黑色而另一部分是白色的. 40%的黑色,60%的白色

如何才能做到这一点?

解决方法

试试这个代码
class MyView extends View
{
    private Paint paint;

    public MyView(Context context,int x,int y)
    {
        super(context);
        paint = new Paint();
        // PorterDuffXfermode xfermode = new PorterDuffXfermode(PorterDuff.Mode.CLEAR);

        paint.setStyle(Paint.Style.stroke);
        paint.setColor(Color.RED);


        paint.setAlpha(255);
        // paint.setXfermode(xfermode);
        paint.setAntiAlias(true);
        // setBackgroundColor(Color.BLACK);
    }

    @Override
    protected void onDraw(Canvas canvas)
    {
        canvas.drawCircle(100,100,50,paint);
    }
}

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...