Android Dim Background of Custom Dialog
android, android-dialog, android-xml
Solution
Have you tried adding:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
`dimAmount` is ignored unless this flag is present.
Problem
As titled, I cannot seem to be able to dim the background of the custom dialog box I have made. Countless solutions online mention the last 3 lines of code in the first snippet below, this has made no impact on the UI of the dialog box. See the following code: ``` Dialog dialog = new Dialog(MainActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.dialog); TextView textView = (TextView) dialog.findViewById(R.id.textView); textView.setText("Custom Text Example"); dialog.show(); WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes(); layoutParams.dimAmount = .7f; dialog.getWindow().setAttributes(layoutParams); ``` The layout xml file for the custom dialog is as follows: ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/progressDialogCustom" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/dialog_black" android:orientation="horizontal" android:padding="10dp" > <ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center_vertical" android:textColor="@android:color/white" android:text="Updating Profile . . ." /> </LinearLayout> ``` The `@drawable/dialog_black` file is as follows: ``` <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="@android:color/background_dark" /> <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" /> <stroke android:width="1px" android:color="@android:color/darker_gray" /> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp" /> </shape> ```