【问题标题】:Android draw rect with only curve one side on custom viewAndroid在自定义视图上绘制只有一侧曲线的矩形
【发布时间】:2017-02-08 21:31:14
【问题描述】:

我需要这个形状(矩形或任何方式)在View android 上绘制。只有一个曲线侧。 1 纯色,弯曲侧透明。这个怎么画?

public class CurveView extends View {
     @Override
     protected void onDraw(Canvas canvas) {
         // how to ????
     }
}

像这样:

谢谢。

【问题讨论】:

  • canvas.drawPath(path, paint)
  • 阅读此页面上的信息,Android Path,然后编写一些代码。如果您遇到错误或与预期不同的结果,请返回并提出具体问题。
  • @Alex android 路径和图形很复杂,需要很长时间。你能帮我画吗?

标签: android android-canvas android-view android-drawable


【解决方案1】:

解决方案:

更新:

public class MyView extends View {

    private Paint paint;
    private Path path;

    public MyView(Context context) {
        super(context);
        init();
    }

    public void init() {

        path = new Path();

        paint = new Paint();
        paint.setAntiAlias(true);
        paint.setDither(true);
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(Color.RED);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        canvas.drawColor(Color.TRANSPARENT);
        paint.setShader(null);

        float width = getWidth();
        float height = getHeight();

        path.moveTo(0, 0);

        path.lineTo(0, height);

        path.lineTo(width, height);

        path.lineTo(width, 0);

        path.cubicTo(4*width/6, 3*height/4, 2*width/6, 3*height/4, 0, 0);

        paint.setColor(Color.RED);
        paint.setStyle(Paint.Style.FILL);
        canvas.drawPath(path, paint);

    }

}

【讨论】:

  • 你能展示你定义“paint”变量和“path”的部分吗?谢谢。
  • @FaustinoGagneten 更新完成。退房。写完后重建你的视图。
  • 你的回答太棒了。我只是想知道如何使这个视图从外部弯曲,我的意思只是这个视图渲染曲线,如问题图片所示。但我想把它和两边都颠倒过来???
  • @HeisenBrg 这很简单。你必须为你的理想思想改变path.cubicTo(....)点和曲线点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多