要在DrawView类中画一个五角星星,你可以重写onDraw()方法并在其中使用Path类来绘制五角星星的路径。以下是一个示例代码:

public class DrawView extends View {
    private Paint paint;

    public DrawView(Context context) {
        super(context);
        paint = new Paint();
        paint.setColor(Color.BLACK);
        paint.setStyle(Paint.Style.FILL);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        
        int width = getWidth();
        int height = getHeight();
        int centerX = width / 2;
        int centerY = height / 2;
        
        int radius = Math.min(width, height) / 2 - 10;
        
        Path path = new Path();
        float angle = (float) (Math.PI * 2 / 5);
        float radiusInner = radius / 2.5f;

        for (int i = 0; i < 5; i++) {
            float x = (float) (centerX + radius * Math.cos(angle * i));
            float y = (float) (centerY + radius * Math.sin(angle * i));
            if (i == 0) {
                path.moveTo(x, y);
            } else {
                path.lineTo(x, y);
            }
            
            float innerX = (float) (centerX + radiusInner * Math.cos(angle * i + angle / 2));
            float innerY = (float) (centerY + radiusInner * Math.sin(angle * i + angle / 2));
            path.lineTo(innerX, innerY);
        }
        
        path.close();
        
        canvas.drawPath(path, paint);
    }
}

onDraw()方法中,我们首先获取了DrawView的宽度和高度,然后计算出五角星星的半径和内部小五角星的半径。接下来,我们使用Path类来构建五角星星的路径,然后使用canvas.drawPath()方法来绘制路径。

你可以在你的Activity中使用DrawView类,例如:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new DrawView(this));
    }
}

这样,一个带有五角星星的DrawView将会显示在你的Activity

Androidstudio的该类中public class DrawView extends View 如何画一个五角星星

原文地址: https://www.cveoy.top/t/topic/iT1i 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录