0

我创建了一个包含以下属性的 popUpwindow:

    popupWindow.setBackgroundDrawable(new BitmapDrawable());
    popupWindow.setFocusable(true);
    popupWindow.setOutsideTouchable(false);

在提到这一点之后,在 popUpWindow 之外单击时也会关闭 popUpwindow。谁能告诉我可以做些什么来避免这种情况。而且我在popUpwindow中播放了一首音乐,但是当它播放时,我无法增加或减少相同的音量。当 popUpwindow 处于焦点时,我无法访问媒体音量控件。我已经读过,如果有覆盖方法 onKeydown / up 那么 setVolumeControlsStream(AudioManager.Stream_Music) 将不起作用。但是我已经使用 keyDown 方法来处理 backpress rest 我正在返回 return super.onKeyDown(keyCode, event);

请提出解决此问题的方法。

4

3 回答 3

1

尝试这个

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

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

        return false;
    }else{
        return super.dispatchTouchEvent(ev);
    }

}

愿这对你有所帮助。我用它来避免在对话框外单击时关闭对话框。

于 2012-12-31T07:24:33.447 回答
0

将焦点设置false为弹出窗口。它将避免popUpwindowpopUpWindow.

popupWindow.setFocusable(false);
于 2012-12-31T07:49:05.033 回答
0
Try this-
put below line end of your class
@Override
    public void onBackPressed() {
        if (popupWindow != null)
            popupWindow.dismiss();
        else
            super.onBackPressed();
        finish();
    }
于 2012-12-31T08:05:25.120 回答