在我的onTouch(View view, Motionevent event)
方法中,view.getY()
总是返回相同的(0.0)。我想检查正在触摸什么视图并将其与int Y = event.getRawY()
. 这样的事情可能吗?
原因是我的布局中有几个动画字段,我想根据被触摸的视图对每个视图进行不同的动画处理。我将不胜感激任何建议或想法。先感谢您
在我的onTouch(View view, Motionevent event)
方法中,view.getY()
总是返回相同的(0.0)。我想检查正在触摸什么视图并将其与int Y = event.getRawY()
. 这样的事情可能吗?
原因是我的布局中有几个动画字段,我想根据被触摸的视图对每个视图进行不同的动画处理。我将不胜感激任何建议或想法。先感谢您
首先检查 api 参考。请参阅 View.getY 和 Motionevent.getRawY。
我这样做是为了解决我的问题:
LinearLayout animLayout = new LinearLayout(this);
animLayout.addView(//add some view);
animLayout.setId(1)
animLayout.setOnTouchListener(this);
@Override
public boolean onTouch(View view, MotionEvent event){
case MotionEvent.ACTION_UP
switch (view.getId()}
case 1:
//My code
break;
}
break;
}
}
基本上,给我的视图一个 ID,然后在我的 onTouch 中获取一个开关盒中的 ID,然后用它做我想做的事。