Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当对话框遇到videoview时_Android_Video_Dialog - Fatal编程技术网

Android 当对话框遇到videoview时

Android 当对话框遇到videoview时,android,video,dialog,Android,Video,Dialog,我已经在我的项目中创建了一个对话框。现在我必须在里面播放视频。 我已经将Mediacontroller绑定到Videoview。在那里我遇到了一个问题 控制器不工作。我猜requestFocus()失败了。 现在我打算用popupwindow来解决这个问题,但我还是希望有人能解决 告诉我如何简单地处理它。也许您应该创建一个自定义对话框类并重写dispatchTouchEvent方法。 当您在对话框边界中收到触摸时,请使用处理程序将消息发送到活动以控制视频 public class CustomD

我已经在我的项目中创建了一个
对话框
。现在我必须在里面播放视频。 我已经将
Mediacontroller
绑定到
Videoview
。在那里我遇到了一个问题

控制器不工作。我猜
requestFocus()
失败了。 现在我打算用
popupwindow
来解决这个问题,但我还是希望有人能解决
告诉我如何简单地处理它。

也许您应该创建一个自定义对话框类并重写dispatchTouchEvent方法。 当您在对话框边界中收到触摸时,请使用处理程序将消息发送到活动以控制视频

public class CustomDialog extends Dialog {

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        Rect dialogBounds = new Rect();
        getWindow().getDecorView().getHitRect(dialogBounds);

        if (dialogBounds.contains((int) ev.getX(), (int) ev.getY())) {

                    //dispatch handler from here

            }
       }

}

也许您应该创建一个自定义对话框类并重写dispatchTouchEvent方法。 当您在对话框边界中收到触摸时,请使用处理程序将消息发送到活动以控制视频

public class CustomDialog extends Dialog {

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        Rect dialogBounds = new Rect();
        getWindow().getDecorView().getHitRect(dialogBounds);

        if (dialogBounds.contains((int) ev.getX(), (int) ev.getY())) {

                    //dispatch handler from here

            }
       }

}