gpt4 book ai didi

android - 使用 OnTouch 事件在 Canvas 中选择和放置不同的形状

转载 作者:行者123 更新时间:2023-11-29 01:34:18 32 4
gpt4 key购买 nike

我是安卓编程的新手在我的项目布局中,我需要创建

  1. 网格布局的调色板(我放了一些按钮并设置了颜色背景)。
  2. Shapes(三角形,正方形和圆形也是按钮)是线性布局
  3. 在这两个旁边是相对布局,用户可以在其中绘制形状

当用户触摸其中一个形状然后触摸相关布局(在形状旁边)时,应该绘制该特定形状以及颜色。例如,如果用户触摸圆形,然后触摸屏幕,则应在用户触摸的位置绘制圆。

我设法在两个不同的类中创建了两个触摸事件,即一个用于选择形状,另一个用于在布局中放置形状。

我不知道如何将这两个类结合在一起。

任何人都可以给我一个想法,我应该如何处理这个项目。我应该在哪里创建形状(我应该为每个形状创建一个单独的类/在 onDraw() 中)?如果我在 onDraw() 中创建形状,我如何在 onTouch() 中调用?

任何帮助都会很棒。提前致谢。

我希望我解释得当,抱歉我的英语不好,这是我第一次在这个论坛发帖。

最佳答案

通常在带有触摸事件的 Canvas 上绘制形状,我们使用类似下面的代码,可能会对您有所帮助。

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

canvas.save();
canvas.drawBitmap(mBitmap, 0, 0, null);
canvas.translate(xPos, yPos);
editIcon.draw(canvas);
canvas.restore();

// invalidate();
}
@Override
public boolean onTouchEvent (MotionEvent event) {

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN :
xPos = event.getX();
yPos = event.getY();
invalidate(); // add it here
break;
}

return true;

}

也检查这个例子,

http://android-er.blogspot.in/2010/05/android-surfaceview.html

关于android - 使用 OnTouch 事件在 Canvas 中选择和放置不同的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29390897/

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