android 代码创建dialog

<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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值