Android使用代码设置Dialog的Style

由于项目需求,不能使用Style文件设置Dialog的格式。这可就愁了宝宝了,在网上搜索了一下,基本上都是使用Style文件设置的。java

一、Dialog的默认背景的设置ide

    一般状况下对话框有一个window级别的背景,就是咱们一般遇到的Dialog周围有黑色的阴影背景。使用代码:this

this.getWindow().setBackgroundDrawableResource(R.drawable.bg_text_bounced);
this.getWindow().setBackgroundDrawable(Drawable);

通常都是设置成圆角的,因此本身切一个圆角背景图就行了,这个this指的是Dialog,千万不要获取上下文的getWindow,这个window设置了仍是没有效果,因此必定在Dialog的Window设置背景spa

dialog.getWindow().setBackgroundDrawableResource(R.drawable.bg_text_bounced);
dialog.getWindow().setBackgroundDrawable(Drawable);

二、其余的属性设置
orm

这里我并无使用Style文件,其实也就是Dialog默认的Style,默认的话通常都会有对话框的父背景即我上面说的window的背景,其次就是对话框自定义的背景。ip

咱们能够在代码中尝试不使用Style而后设置一下下面这些代码,试试效果。get


(1)设置不显示对话框标题。这个标题其实每一个Activity也都有,这个和Activity设置不显示标题是同样的:requestWindowFeature(Window.FEATURE_NO_TITLE);it

(2)去阴影,这里指的是通常对话框以外的部分有个灰色的接近透明的阴影层,设置这个至关于去掉这个阴影层:getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);form

(3)设置背景,就是我在1中描述的,这个Drawable就是我本身对话框要实现的Drawable背景:getWindow().setBackgroundDrawableResource(R.drawable.vip_p);class

(4)设置内容的透明度:

WindowManager.LayoutParams wmParams =getWindow().getAttributes();

//wmParams.format = PixelFormat.TRANSPARENT;  内容全透明  

wmParams.format=PixelFormat.TRANSLUCENT;//内容半透明  

wmParams.alpha=1.0f;//调节透明度,1.0最大   

//dialog设置各类属性

getWindow().setAttributes(wmParams);


三、暂时先想起来以上两个,以后想起来再继续补充。还有,这个明明是本身写的,为啥说是超别人的,自己代码就是这样,不理解代码写的同样就是转载的别人么?

相关文章
相关标签/搜索