(This is a random image of showing a Dialog
found on the Internet.)
I've been implementing a custom Dialog
. I could handle almost everything on the dialog except for that default black dim background under the dialog itself, but over the entire screen behind it. Basically I want to change its color and alpha value.
I've been wandering through StackOverflow but only answers I found were about changing background of Dialog
itself. In any case if you need it, here's my simple codes.
CustomDialog.java
public class HTDialog extends Dialog{
public HTDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setCanceledOnTouchOutside(true);
setContentView(R.layout.custom_dialog);
}
}
custom_dialog.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialog_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="280dp"
android:background="@drawable/bg_popup"
android:paddingTop="20dp">
<ImageView
android:id="@+id/dialog_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/icon" />
</RelativeLayout>
try the code,
nb: the line d.setView(checkBoxView, 0, 0, 0, 0); will make it...
This is a workaround but it's not really a pure solution because background touch is disabled and should be configured manually.
First, set custom dialog theme like this.
styles.xml
Setting
windowIsFloating
to false forcesDialog
view to be expanded to full screen. SettingwindowBackground
totransparent
removes default black dim background underDialog
.windowNoTitle
option gets rid of the upper title bar.CustomDialog.java
Apply the theme and construct your
custom_dialog
view as follows.custom_dialog.xml
Now that
CustomDialog
view is a full-screen view, setbackground
of your root layout to whatever color you'd like.Sample result
I mosaiced the result a bit.
This worked for me:
dialog.window.setDimAmount(0f)
is the key.use custom style.
android:backgroundDimEnabled:control the black dim background
Try to set the style for your dialog windows,
Example: