小编And*_*rei的帖子

绘制和填充自定义形状

我正在尝试使用 Android 中的 Path 对象创建自定义形状,但遇到了一个奇怪的问题。
我想要实现的目标如下图所示

在此处输入图片说明

这是我用来绘制和填充形状的代码:

 public class BallView extends RelativeLayout {
     ....
     protected void onDraw(Canvas canvas) {
      ...
      PaintArc(canvas);
     }

    private void PaintArc(Canvas canvas) {
     Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
     p.setAntiAlias(true);
     p.setStyle(Paint.Style.FILL_AND_STROKE);
     p.setStrokeWidth(2);
     p.setColor(Color.RED);


     RectF oval = new RectF(20, 20, getWidth() - 20, getHeight() - 20);
     RectF oval2 = new RectF(0, 0, getWidth(), getHeight());
     Path path = new Path();
     path.setFillType(Path.FillType.EVEN_ODD);

     path.addArc(oval, 0, 180);
     path.addArc(oval2, 0, 180);

     float y=20+oval.height()/2;
     float x=20;
     path.moveTo(x,y);
     path.lineTo(x - 20, y);

     x=oval.width()+20;
     path.moveTo(x,y);
     path.lineTo(x+20,y); …
Run Code Online (Sandbox Code Playgroud)

android

2
推荐指数
1
解决办法
6443
查看次数

标签 统计

android ×1