gpt4 book ai didi

java - 为什么我的矩形没有在我的 Canvas 方法中更新?(android java)

转载 作者:行者123 更新时间:2023-11-30 11:09:06 25 4
gpt4 key购买 nike

所以我制作了一个绘画类,它有一个 ontouchevent 方法,我将矩形的 xpos 设置为触摸事件的 xpos,但矩形没有移动!我该如何纠正?矩形类:

public class myRectangle{
public int xpos;
public int ypos;
public int size;
private Paint paint;
public myRectangle(){
size = 40;
paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLUE);
}
public void drawRectangle(Canvas c,int x, int y){
c.drawRect(x, y, size, size, paint);
}

和我的绘画 View :

public class Painting extends View {
myRectangle player;
float x;
float y;
public Painting(Context context) {
super(context);
player = new myRectangle();
// TODO Auto-generated constructor stub
}

@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
x = event.getX();
y = event.getY();
String s = Float.toString(event.getX());
String c = Float.toString(event.getX());

Log.d(c, s);
return super.onTouchEvent(event);
}

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
player.drawRectangle(canvas, (int)x, (int)y);

}

}如果需要,我也可以发布主要 Activity

最佳答案

唯一缺少的是 onTouchEvent 中的 invalidate() 调用。 invalidate() 安排抽签

关于java - 为什么我的矩形没有在我的 Canvas 方法中更新?(android java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28265997/

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