0

問題:

アプリ内の複数の場所でAlertDialogとを使用しています。ProgressDialogAndroid N Preview より前の Android バージョンでは問題なく表示されます。ただし、Android N Preview (Nexus 5X の NDP3) でテストしたところ、半透明の背景が画面全体を覆っていないようです。

Android N の画面全体をカバーしていないダイアログの半透明の背景: ここに画像の説明を入力

これは、アクティビティでダイアログを作成する方法です。

public static void showDialog(final Activity activity, final String title, final String message, final String positiveButtonText, final String negativeButtonText, final DialogInterface.OnClickListener positiveButtonListener, final DialogInterface.OnClickListener negativeButtonListener, final Boolean cancellable) {
    activity.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            AlertDialog.Builder alert = new AlertDialog.Builder(activity);
            alert.setTitle(title);
            alert.setMessage(message);
            alert.setPositiveButton(positiveButtonText != null ? positiveButtonText : activity.getString(R.string.button_text_ok), positiveButtonListener);
            alert.setNegativeButton(negativeButtonText != null ? negativeButtonText : activity.getString(R.string.button_text_cancel), negativeButtonListener);

            if (cancellable != null) {
                alert.setCancelable(cancellable);
            } else {
                alert.setCancelable(false);
            }

            //creating an alert dialog from our builder.
            alertDialog = alert.create();
            if (!activity.isFinishing() && alertDialog != null) {
                alertDialog.show();
                alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(ContextCompat.getColor(activity, android.R.color.black));
                alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(ContextCompat.getColor(activity, android.R.color.black));
            }
        }
    });
}

活動テーマはこちら

<style name="AppTheme" parent="AppTheme.Base">
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>

<!-- Base application theme. Include the items here which are common to all version. -->
<style name="AppTheme.Base" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!--Customize Action Bar-->
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowActionBar">true</item>
    <item name="actionBarStyle">@style/Theme.TradeRev.ActionBar</item>
    <item name="android:actionBarStyle">@style/Theme.TradeRev.ActionBar</item>
    <item name="colorPrimary">@color/light_green</item>
    <item name="colorPrimaryDark">@color/green_title_bar</item>
    <item name="colorAccent">@android:color/white</item>
    <item name="actionMenuTextColor">@android:color/white</item>
    <item name="android:actionMenuTextColor">@android:color/white</item>
    <item name="android:homeAsUpIndicator">@drawable/button_back_up_navigation</item>

    <!-- Title Text Color -->
    <item name="android:textViewStyle">@style/AppTheme.Widget.TextView</item>
</style>

質問:

これは Android N の問題ですか、それとも Android N 以降に組み込む必要がある API に何か変更がありましたか?

4

1 に答える 1

2

これは、N DP の既知の問題です。https://code.google.com/p/android/issues/detail?id=205765を参照してください

プラットフォームの問題です。アプリでこれを回避する必要はありません。

于 2016-05-31T15:12:17.790 に答える