我有Activity
包含ImageView
,我想让用户通过触摸(或鼠标点击)功能选择部分内容。
我想编写一个能够实现两件事的程序:
为了更好地理解你可以查看我创建的小模拟:
用户应触摸屏幕的某些部分,然后突出显示。当按下后退按钮时,我想通过Java获得突出显示的像素的坐标。
你能帮我理解怎么做吗?
特别是我想了解以下内容:
寻求任何帮助!
答案 0 :(得分:1)
我会继承ImageView
,然后您可以通过覆盖onTouchEvent(...)
来抓取触摸事件
当您使用onDraw(...)
方法时,您可以调用super来正常绘制图像,然后添加自己的代码以在顶部绘制突出显示。
修改强>
好吧而不是使用ImageView
你可以扩展它并编写你自己的类,这个类所要做的就是覆盖onTouchEvent(...)
所以你知道什么时候触摸视图并且可以保存位置触摸事件的屏幕。接下来,您将编辑绘图方法:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas); // So the image you want is drawn as normal
myMethodForDrawingAFancyHighlight(Canvas canvas); // add your special effects on top of the image
}