gpt4 book ai didi

android studio上的Java,为什么我看不到我在canvas中绘制的矩形?

转载 作者:行者123 更新时间:2023-12-02 10:50:24 40 4
gpt4 key购买 nike

大家好,我最近开始开发一款 Android 游戏,但我遇到了 DrawRectangle 的问题。

public void draw(Canvas canvas) {
super.draw(canvas);

canvas.drawColor(Color.BLACK);
canvas.drawRect(new Rect(100,100,100,100), new Paint(Color.WHITE));

}

这似乎不起作用,但我已经使用另一个类在屏幕上绘制了使用相同逻辑的绘制方法,但我很好奇为什么这不起作用

私有(private)Paint myPaint = new Paint();

@Override
public void draw(Canvas canvas) {
super.draw(canvas);
canvas.drawColor(Color.BLACK);
myPaint.setColor(Color.WHITE);
canvas.drawRect(new Rect(100,100,100,100), myPaint);


}

这也不起作用

最佳答案

您的实现中存在三个问题:-

  • Paint 对象在构造函数中不采用颜色,它采用一个标志。因此,您可以执行类似 Paint p = new Paint(Paint.ANTI_ALIAS_FLAG) 的操作,然后将颜色设置为 p.setColor(Color.WHITE)
  • 矩形对象应该类似于new Rect(0,0,100,100)。在你的情况下 [new Rect(100,100,100,100)] 矩形将被绘制为宽度为 0 的矩形,0 高度及其左上坐标将为 (100,100) 及其右下角坐标为 (100,100)。
  • 切勿在 onDraw 中创建对象。

关于android studio上的Java,为什么我看不到我在canvas中绘制的矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52228279/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com