Android开发教程之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>
复制代码


 

作者:517zd        517zd

出处:http://www.cnblogs.com/517zd

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

原文地址:https://www.cnblogs.com/517zd/p/2710604.html