1. 程式人生 > >去除安卓自定義Dialog黑色背景,設置無邊框,透明

去除安卓自定義Dialog黑色背景,設置無邊框,透明

isf window bsp 希望 nbsp tle -name rep lan

我們在自定義Dialog的時候,往往會希望除去安卓系統定義背景和標題,以便於更好的顯示我們自己想要的效果。

其實我們只需要註意幾個地方就行了。

1.在Style文件的中定義Dialog的主題

  1. <style name="MyDialog">
  2. <item name="android:windowFrame">@null</item>
  3. <item name="android:windowBackground">@android:color/transparent</item>
  4. <item name="android:windowNoTitle">true</item>
  5. <item name="android:windowIsFloating">true</item>
  6. <item name="android:windowContentOverlay">@null</item>
  7. </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黑色背景,設置無邊框,透明