Android背景透明的 Dialog

一:控制Dialog 的背景方法:
1.定義一個無背景主題主題
<!--去掉背景Dialog-->
  1.    <style name="NobackDialog" parent="@android :style/Theme.Dialog">
  2.    <item name="android:windowBackground">@color/no_back</item>
  3.   </style>
複製代碼
2.建立Dialog
  1. dialog = new Dialog(this,R.style.dialog);  
  2.    dialog.setContentView(R.layout.dialog_loading);      
複製代碼
or:
  1.   dialog = new Dialog(this,R.style.NobackDialog);  
  2.     LayoutInflater mInflater =  LayoutInflater.from(this);
  3.     View dialogProcessBar = mInflater.inflate(R.layout.dialog_loading,null);       
  4.     dialog.setView(dialogProcessBar,0, 0, 0, 0);
複製代碼
二:控制Dialog 以及內部控件的背景方法:
  1. dialog = new Dialog(this,R.style.dialog);
  2.   WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();
  3. // 模糊度getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);          dialog.getWindow().setAttributes(lp);
  4.   lp.alpha=0.5f;(0.0-1.0)//透明度,黑暗度爲lp.dimAmount=1.0f;

複製代碼
三:去掉邊框、title 等參數
  1. <resources>
  2.     <style name="dialog" parent="@android :style/Theme.Dialog">
  3.          <item name="android:windowFrame">@null</item><!--邊框-->
  4.         <item name="android:windowIsFloating">true</item><!--是否浮如今activity之上-->
  5.         <item name="android:windowIsTranslucent">false</item><!--半透明-->
  6.         <item name="android:windowNoTitle">true</item>
  7.         <item name="android:background">@android :color/black</item>
  8.         <item name="android:windowBackground">@null</item>
  9.         <item name="android:backgroundDimEnabled">false</item><!--模糊-->
  10.     </style>
  11. </resources>
相關文章
相關標籤/搜索