Android 使app.Dialog的阴影变暗
如何使自定义应用程序对话框的背景阴影变暗 期望值: 现实: 我尝试的是: 1)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
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的背景更改为黑色,而不是阴影