Android 如何检测DialogFragment上的手指绘图位置

Android 如何检测DialogFragment上的手指绘图位置,android,touch-event,dialogfragment,Android,Touch Event,Dialogfragment,我一直在开发一个功能,允许用户绘制一个类似于Android附带的模式解锁功能的模式。我使用onTouchEvent在活动中成功实现了此功能: public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == android.view.MotionEvent.ACTION_UP) { // finish } if (event.getAction() == android.vi

我一直在开发一个功能,允许用户绘制一个类似于Android附带的模式解锁功能的模式。我使用onTouchEvent在活动中成功实现了此功能:

public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
        // finish
    }
    if (event.getAction() == android.view.MotionEvent.ACTION_MOVE) {
        // get drawing location
        int x = (int) event.getX();
        int y = (int) event.getY();

        ......
    }

    return super.onTouchEvent(event);
}
现在,我希望使用DialogFragment做同样的事情。但是,DialogFragment没有onTouchEvent侦听器。因此,我不能使用在活动中实现的代码


任何想法都将受到高度赞赏。

创建一个视图子类,覆盖onTouchEvent方法,并将其设置为对话框的内容视图。谢谢。我用了你的方法。但是,只有onTouch方法可以覆盖NotOnTouchEvent。此onTouch方法只能检测MotionEvent.ACTION\u DOWN,而不能点击MotionEvent.ACTION\u MOVE。很奇怪。请帮助。如果您的方法是onTouch,那么我不相信您严格地,至少是子类化视图。听起来您已经为它设置了一个OnTouchListener,它也应该可以工作,但是您必须在onTouch方法中返回正确的值。简短评论回答:返回true;,但是你需要研究触摸事件的处理,以获得完整、正确的方法。这是有效的。谢谢你,迈克!