Android 自定义对话框背景不显示透明屏幕

Don't show transparent screen on background of custom Dialog in Android

我不想在 dialog 打开时显示透明背景。你能推荐一个有效的方法吗?

请检查我的实现:

我使用自己的布局创建了一个自定义对话框,并在创建对话框时添加了以下代码。

dialog = new Dialog(mActivity, R.style.DialogTransparentTheme);
        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

我的主题风格:

<style name="DialogTransparentTheme" parent="android:Theme">
        <item name="android:textAllCaps">false</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>
        <item name="android:colorControlNormal">@color/app_txt_color</item>
        <item name="android:colorControlActivated">@color/app_txt_gray_color</item>
        <item name="android:colorControlHighlight">@color/app_txt_gray_color</item>
    </style>

@Usman 这是我的自定义对话框实现,对我来说效果很好:

View view = mActivity.getLayoutInflater().inflate(R.layout.common_alert_dialog_layout, null);
                TextView titleTextView = (TextView) view.findViewById(R.id.common_alert_dialog_title);
                TextView messageTextView = (TextView) view.findViewById(R.id.common_alert_dialog_message);
                Button okButton = (Button) view.findViewById(R.id.btn_alert_dialog_ok_button);
                titleTextView.setText(getString(R.string.dialog_app_name_header));
                messageTextView.setText(getString(R.string.walk_no_network));
                okButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        dialog.dismiss();
                        // Do your action::
                    }
                });
                dialog.setContentView(view);
                dialog.setCanceledOnTouchOutside(true);
                dialog.setCancelable(true);
                dialog.show();
                dialog.getWindow().setLayout((int) getResources().getDimension(R.dimen.common_dialog_width),
                        (int) getResources().getDimension(R.dimen.common_diaog_height));

                return dialog;

将以上代码附加到此对话框。