<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span class="number" style="margin: 0px; padding: 0px; border: none; color: rgb(192, 0, 0); font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px;">1</span><span style="margin: 0px; padding: 0px; border: none; font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px;">、通过定义style来创建dialog</span>
</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">创建一个dialog对象:</span>
<pre name="code" class="java">Dialog dlg = new Dialog(Main.this, R.style.dialog);
dlg.show();
R.style.dialog的xml代码如下:
<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:windowBackground">@color/transparency</item><!--背景透明-->
<item name="android:backgroundDimEnabled">true</item><!--模糊-->
<item name="android:backgroundDimAmount">0.6</item><!--模糊程度-->
<item name="android:windowSoftInputMode">adjustResize</item><!--自动弹出软键盘-->
<item name="android:windowCloseOnTouchOutside">false</item><!--点击外部不消失-->
</style>
2、在代码中直接设置dalog的style
获取dlg的窗口:
WindowManager.LayoutParams params = dlg.getWindow().getAttributes();
设置dialog的自身属性:
params.width = 200;//宽度
params.height = 450;//高度
params.x = -120;//位移x
params.y = 120;//位移y
dlg.getWindow().setAttributes(params);
设置dialog在屏幕中的位置属性:
Window window = dlg.getWindow();
window.setGravity(Gravity.TOP);
WindowManager.LayoutParams params = window.getAttributes();
params.alpha = 0.6f;
window.setAttributes(params);
模糊背景:
window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
显示dlg:
dlg.show();
注:此dialog并非alertdialog
参考http://blog.csdn.net/minenamewj/article/details/9825055