我们在自定义Dialog的时候,往往会希望除去安卓系统定义背景和标题,以便于更好的显示我们自己想要的效果。
其实我们只需要注意几个地方就行了。
1.在Style文件的中定义Dialog的主题
- <style name="MyDialog">
- <item name="android:windowFrame">@null</item>
- <item name="android:windowBackground">@android:color/transparent</item>
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowIsFloating">true</item>
- <item name="android:windowContentOverlay">@null</item>
- </style>
主要是这句:<item name="Android:windowBackground">@android:color/transparent</item> 把windowBackground设置为透明
2.在自定义的Dialog构造方法中使用,如果你在DIalog的布局文件中去使用这个主题是没有作用的,必须在三个构造方法都要使用该主题,这样防止进入哪个构造方法时没调用主题。不然就看不到效果了。
public MyDialog(Context context){
super(context,R.stytle.MyDialog);
}
public MyDialog(Context context,int thremId){
super(context,R.stytle.MyDialog);
}
这样你的Dialog应该是可以显示出无黑色背景和无边框的。
时间: 2024-10-11 07:21:35