2

具体的には、マシュマロ (Nexus 5X および 6P でテスト済み) で、没入モードで画面上に (match_parent の幅と高さを持つ) を開くPopupWindowと、ポップアップのコンテンツが全画面に拡大されず、ナビゲーション ボタンが表示される場所にギャップがあります。以前は。この効果は、目に見えないナビゲーション ボタンがまだそこにあるかのように、スペース/ギャップ/マージンを追加します。

これは私がポップアップを作成する方法です:

PopupWindow popup = new PopupWindow(popupView, FrameLayout.LayoutParams.MATCH_PARENT,
            FrameLayout.LayoutParams.MATCH_PARENT, false);

popup.showAtLocation(activity.findViewById(R.id.full_screen_root_view), Gravity.CENTER, 0, 0);

これはポップアップ レイアウトの始まりです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/popup"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:background="#AA000000">

これは、ポップアップが表示される全画面表示です。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/full_screen_root_view"
    android:background="@android:color/black">

このバグを具体的に引き起こす Marshmallow の変更点があるかどうか知っていますか? Nexus 5 では、バージョン 5.0.1 およびその他の古い電話/バージョンをテストして、すべて正常に動作します。前もって感謝します!:)

4

3 に答える 3

2

私は以前にこの問題を抱えています。表示する前に PopupWindow focusable を false に設定することで解決しました。

PopupWindow mWindow = new PopupWindow(context);
mWindow.setFocusable(false);
mWindow.showAtLocation(anchor, Gravity.NO_GRAVITY, xPos, yPos);
于 2016-09-12T04:01:03.150 に答える