去除安卓自定義Dialog黑色背景,設置無邊框,透明
阿新 • • 發佈:2017-08-10
isf window bsp 希望 nbsp tle -name rep lan
我們在自定義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應該是可以顯示出無黑色背景和無邊框的。
去除安卓自定義Dialog黑色背景,設置無邊框,透明