Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Changing default Android fade/scrim color when calling a Dialog

I've been working on an app and I've reaching the point where it requires me to display a menu window in the middle of the screen.

I've been using an AlertDialog object filled with a custom View but now it was required of me to "surround" the window with a semi-transparent white glow as opposed to the default grayish one. I did a similar with the fade-in color of some navigation drawers I have on my app but in that case I had a specific method to quickly help me solve that problem. So far I haven't found anything that helps me solve this one.

I tried creating a default style with a new "windowBackground" value but I encountered 3 problems from the get-go:

  • I'm no longer able to shut the AlertDialog down by clicking outside the layout (I'm guessing because by changing the color that way everything is now the layout)
  • The menu window is now surrounded by a black outline that wasn't there before
  • By using the filtering search inside the layout, which manipulates the members of a list, the window collapses on itself

Is there any way to accomplish what I want more or less directly?

like image 409
rtnf Avatar asked Dec 13 '25 18:12

rtnf


1 Answers

I'm not really sure about it, but you can use this in your styles.xml

<style name="MyDialogTheme" parent="android:Theme.AppCompat.Light.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/your_light_color</item>
<item name="android:backgroundDimEnabled">false</item>

And if you want to dismiss the dialog when clicking outside, use this:

dialog.setCanceledOnTouchOutside(true);

or

<item name="windowCloseOnTouchOutside">true</item>

in your styles.xml

like image 118
javmarina Avatar answered Dec 16 '25 10:12

javmarina



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!