Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中创建自定义形状:跨圆_Java_Android_Drawable_Draw_Shape - Fatal编程技术网

Java 如何在android中创建自定义形状:跨圆

Java 如何在android中创建自定义形状:跨圆,java,android,drawable,draw,shape,Java,Android,Drawable,Draw,Shape,我想画一个圆圈,然后在android中使用Shape drawable,就像 如果有人知道如何实现这一目标。请帮忙。我无法在圆内创建十字 使用这个代码 class MyView extends View { Paint paint1 = new Paint(); Paint paint2 = new Paint(); Paint paint3 = new Paint(); Paint p

我想画一个圆圈,然后在android中使用Shape drawable,就像

如果有人知道如何实现这一目标。请帮忙。我无法在圆内创建十字

使用这个代码

    class MyView extends View {
              Paint paint1 = new Paint();
            Paint paint2 = new Paint();
            Paint paint3 = new Paint();
            Paint paint4 = new Paint();
            Paint paint5 = new Paint();
            final RectF rect = new RectF();
             int mRadius = 130;
    @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
                // Example values
                rect.set(getWidth() / 2 - mRadius, getHeight() / 2 - mRadius,
                        getWidth() / 2 + mRadius, getHeight() / 2 + mRadius);
                paint1.setColor(Color.RED);
                paint1.setStrokeWidth(16);
                paint1.setAntiAlias(true);
                paint1.setStrokeCap(Paint.Cap.BUTT);
                paint1.setStyle(Paint.Style.STROKE);
                paint2.setColor(Color.RED);
                paint2.setStrokeWidth(mRadius / 2);
                paint2.setAntiAlias(true);
                paint2.setStrokeCap(Paint.Cap.BUTT);
                paint2.setStyle(Paint.Style.STROKE);
                paint3.setColor(Color.RED);
                paint3.setStrokeWidth(16);
                paint3.setAntiAlias(true);
                paint3.setStrokeCap(Paint.Cap.BUTT);
                paint3.setStyle(Paint.Style.STROKE);
                canvas.drawArc(rect, 0, 3600, false, paint1);

                canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
                        - mRadius, getHeight() / 2 - mRadius, paint3);

                canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
                        + mRadius, getHeight() / 2 - mRadius, paint3);

                canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
                        - mRadius, getHeight() / 2 + mRadius, paint3);

                canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
                        + mRadius , getHeight() / 2 + mRadius , paint3);
  }
}