调用Dialog时更改默认的Android淡入淡出/稀松布颜色

时间:2015-07-07 10:48:33

标签: android android-dialog android-styles

我一直在开发应用程序,并且我已达到要求我在屏幕中间显示菜单窗口的程度。

我一直在使用一个自定义视图填充的AlertDialog对象,但现在需要我用半透明的白色光晕“环绕”窗口,而不是默认的灰色。我做了类似于我的应用程序上的一些导航抽屉的淡入颜色,但在这种情况下我有一个特定的方法来快速帮我解决这个问题。到目前为止,我还没有发现任何可以帮助我解决这个问题的事情。

我尝试使用新的“windowBackground”值创建默认样式但是我从一开始就遇到了3个问题:

  • 我无法通过点击布局外部来关闭AlertDialog(我猜是因为通过改变颜色就像现在一切都是布局一样)
  • 菜单窗口现在被一个以前没有的黑色轮廓包围
  • 通过在布局中使用过滤搜索来操作列表成员,窗口自行折叠

有没有办法直接完成我想要的东西?

1 个答案:

答案 0 :(得分:1)

我不太确定,但您可以在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>

如果您想在外部点击时关闭对话框,请使用:

dialog.setCanceledOnTouchOutside(true);

<item name="windowCloseOnTouchOutside">true</item>
你的styles.xml中的