首页 > 代码库 > 背景透明的 Dialog

背景透明的 Dialog

一:控制Dialog 的背景方法:
1.定义一个无背景主题主题

<!--去掉背景Dialog-->
   <style name="NobackDialog" parent="@android:style/Theme.Dialog">
   <item name="android:windowBackground">@color/no_back</item>
  </style>

2.创建Dialog

  dialog = new Dialog(this,R.style.dialog);  
   dialog.setContentView(R.layout.dialog_loading);       
  or:
    dialog = new Dialog(this,R.style.NobackDialog);  
    LayoutInflater mInflater =  LayoutInflater.from(this);
    View dialogProcessBar = mInflater.inflate(R.layout.dialog_loading,null);       
    dialog.setView(dialogProcessBar,0, 0, 0, 0);

二:控制Dialog 以及内部控件的背景方法:

dialog = new Dialog(this,R.style.dialog);
  WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();
// 模糊度getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);          dialog.getWindow().setAttributes(lp);
  lp.alpha=0.5f;(0.0-1.0)//透明度,黑暗度为lp.dimAmount=1.0f;
 

三:去掉边框、title 等参数

<resources>
    <style name="dialog" parent="@android:style/Theme.Dialog">
         <item name="android:windowFrame">@null</item><!--边框-->
        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        <item name="android:windowIsTranslucent">false</item><!--半透明-->
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@android:color/black</item>
        <item name="android:windowBackground">@null</item>
        <item name="android:backgroundDimEnabled">false</item><!--模糊-->
    </style>
</resources>