0

このプロパティを含む popUpwindow を作成しました。

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

これについて言及した後、popUpWindow の外側をクリックすると、popUpwindow が閉じられます。これを回避するために何ができるか誰か教えてください。また、popUpwindowで音楽を再生していますが、再生時に同じ音量を上げたり下げたりすることはできません。popUpwindow にフォーカスがあると、メディア ボリューム コントロールにアクセスできません。オーバーライドされたメソッド onKeydown / up がある場合、 setVolumeControlsStream(AudioManager.Stream_Music) が機能しないことを読みました。しかし、私はバックプレスレストを処理するためにkeyDownメソッドを使用しました。 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
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 に答える
0

falseポップアップ ウィンドウのフォーカス可能をに設定します。popUpwindowの外側をクリックしたときの の却下を回避しますpopUpWindow

popupWindow.setFocusable(false);
于 2012-12-31T07:49:05.033 に答える