【发布时间】:2011-09-16 06:05:50
【问题描述】:
我有一张图片和图片下方的TextView,这是图片的标题。当我触摸文本时,我想将图像的状态更改为选中。我捕获了触摸向上和触摸事件以分别将图像的状态更改为选中和未选中。
我想实现触摸取消,即如果我触摸TextView 内部并拖动外部并移开手指,则图像状态应设置为未选中。我如何知道触摸是否在视图中?
我的申请目标等级是 7。
【问题讨论】:
标签: android
我有一张图片和图片下方的TextView,这是图片的标题。当我触摸文本时,我想将图像的状态更改为选中。我捕获了触摸向上和触摸事件以分别将图像的状态更改为选中和未选中。
我想实现触摸取消,即如果我触摸TextView 内部并拖动外部并移开手指,则图像状态应设置为未选中。我如何知道触摸是否在视图中?
我的申请目标等级是 7。
【问题讨论】:
标签: android
回答我的问题。我通过将图像视图和文本视图放在视图中解决了这个问题。并将图像视图的属性 duplicateParentState 设置为 true。
【讨论】:
你可以通过标志变量来做,比如当你按下标志时,如果你拖动手指然后像这里一样明智地关闭标志
boolean isDown = false;
public boolean onTouchEvent(MotionEvent event, final MapView mapView) {
final int action=event.getAction();
final int x=(int)event.getX();
final int y=(int)event.getY();
if (action==MotionEvent.ACTION_DOWN) {
isDown = true;
}else if(acttion == Motion.ACTION_MOVE){
isDown = false;
}else if(action === MotionEvent.ACTION_UP){
if(isDown){
// do something here
}
}
return (isDown | super.onTouchEvent(event, mapView));
}
【讨论】:
MotionEvent.ACTION_OUTSIDE。