首页 > 代码库 > 如何自定义对话框

如何自定义对话框

自定义对话框其实就是一个activity,为activity设置相应样式,让其显示为对话框模样。下面是一个简单的demo:

<style name="MyDialogStyle">
  <item name="android:windowBackground">@android:color/transparent</item>
  <item name="android:windowFrame">@null</item>
  <item name="android:windowNoTitle">true</item>
  <item name="android:windowIsFloating">true</item>
  <item name="android:windowIsTranslucent">true</item>
  <item name="android:windowContentOverlay">@null</item>
  <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
  <item name="android:backgroundDimEnabled">true</item>
</style>

 

然后在android清单文件中为activity设置android:theme="@style/MyDialogStyle"就可以了。

 

其中android windows属性介绍如下:

<item name="android:windowFrame">@null</item> :Dialog的windowFrame框为无
<item name="android:windowIsFloating">true</item>:是否浮现在activity之上
<item name="android:windowIsTranslucent">false</item>:是否半透明
<item name="android:windowNoTitle">true</item>:是否显示title
<item name="android:windowBackground">@drawable/dia_bg</item>:设置dialog的背景
<item name="android:backgroundDimEnabled">false</item>: 背景是否模糊显示
 
android:windowContentOverlay这个是定义contentoverlay的背景的