Android 使app.Dialog的阴影变暗

Android 使app.Dialog的阴影变暗,android,android-layout,dialog,android-styles,Android,Android Layout,Dialog,Android Styles,如何使自定义应用程序对话框的背景阴影变暗 期望值: 现实: 我尝试的是: 1) MyDialog dialog=newmydialog(mContext); dialog.getWindow().setBackgroundDrawable(新的ColorDrawable(Color.BLACK)); dialog.show() 2) MyDialog dialog=newmydialog(mContext,R.style.NewDialog); dialog.getWindow().setB

如何使自定义应用程序对话框的背景阴影变暗

期望值

现实

我尝试的是:

1)
MyDialog dialog=newmydialog(mContext);
dialog.getWindow().setBackgroundDrawable(新的ColorDrawable(Color.BLACK));
dialog.show()

2)
MyDialog dialog=newmydialog(mContext,R.style.NewDialog);
dialog.getWindow().setBackgroundDrawable(新的ColorDrawable(Color.BLACK));
dialog.show()

其中
R.style.NewDialog

<!-- This style removes shadow but I need to make it darker.-->
<!-- Don't know which parameter needed to change for that-->
<style name="NewDialog"> 
    <item name="android:windowFrame">@null</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowTitleStyle">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:background">@android:color/transparent</item>
</style>

@空的
@android:彩色/透明
真的
@空的
@空的
@android:style/Animation.Dialog
状态未指定|调整盘
假的
@android:彩色/透明

试试下面的自定义类,它可能会起作用

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Window;

import com.stackexmples.R;

/**
 * Created by windws on 30-Mar-16.
 */
public class AlertDFragment extends DialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        return new AlertDialog.Builder(getActivity())
                // Set Dialog Icon
                .setIcon(R.drawable.androidhappy)
                        // Set Dialog Title
                .setTitle("Alert DialogFragment")
                        // Set Dialog Message
                .setMessage("Alert DialogFragment Tutorial")

                        // Positive button
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // Do something else
                    }
                })

                        // Negative Button
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // Do something else
                    }
                }).create();
    }
    @Override
    public void onStart() {
        super.onStart();
        Window window = getDialog().getWindow();
        window.setBackgroundDrawableResource(android.R.color.transparent);
    }
}
Window Window=getDialog().getWindow(); setBackgroundDrawableResource(android.R.color.transparent)


在onCreate()中不起作用,但在Start()中起作用。

无更改。似乎与1)中的相同
dialog.getWindow().setBackgroundDrawable(新的ColorDrawable(Color.BLACK))如何显示此对话框?AlertDFragment AlertDFragment=new AlertDFragment();show(getFragmentManager(),“dialog”);好的,我已经启动了。但是
windowwindow=getDialog().getWindow();setBackgroundDrawableResource(android.R.color.black)将AlertDialog的背景更改为黑色,而不是阴影