我正在开发一个需要 mee 允许用户在显示的图像上绘制任何文本的应用程序。
我无法找到正确的术语来搜索网络——我应该称之为感应还是触摸事件,或者它是一个手势应用程序。
正是我想让用户在图像上涂鸦或绘制任何东西。
我几乎没有什么想法,比如它可以使用画布或一些覆盖元素,但没有什么具体的。
PS:
我使用 android 2.2 作为目标。
我是android开发的新手。
请帮忙 !
我正在开发一个需要 mee 允许用户在显示的图像上绘制任何文本的应用程序。
我无法找到正确的术语来搜索网络——我应该称之为感应还是触摸事件,或者它是一个手势应用程序。
正是我想让用户在图像上涂鸦或绘制任何东西。
我几乎没有什么想法,比如它可以使用画布或一些覆盖元素,但没有什么具体的。
PS:
我使用 android 2.2 作为目标。
我是android开发的新手。
请帮忙 !
好吧,回答我自己的第一个问题 :) 实际上我无法直接找到解决方案 - 但至少找到了 2 条出路。
您可以拍摄 2 个图像视图。将第一个 Imageview(引用为 imageview1)与图像源分配,然后将第二个 Imageview(引用为 imageview2)放在 imageview1 上,这样它就可以覆盖整个屏幕(填充父级 - 高度和宽度)。
现在在 .java 文件中,imageview2.setOnTouchListener(this);
根据需要分配和覆盖 onLoad() 方法。例如。
`public boolean onTouch(View v, MotionEvent 事件) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
oldx = downx = event.getX();
oldy = downy = event.getY();
break;
case MotionEvent.ACTION_MOVE:
downx = event.getX();
downy = event.getY();
canvas.drawLine(oldx, oldy, downx, downy, paint);
imgvw.invalidate();
oldx = downx ;
oldy = downy ;
break;
case MotionEvent.ACTION_UP:
upx = event.getX();
upy = event.getY();
canvas.drawLine(oldx, oldy, upx, upy, paint);
imgvw.invalidate();
break;
case MotionEvent.ACTION_CANCEL:
// SOME CODE THAT YOU WANNA USE
break;
default:
break;
}
return true;
}`
油漆油漆 = 新油漆();
paint.setColor(Color.GREEN);
这将有助于在 imageview2 上绘制,但看起来好像是在 imageview1 上绘制的 :)
setContentView(myImageView(this))
并附加一个setOnTouchListener(this);
,实现上面指定的 onTouch 方法,这将正常工作。