Android使用代码设置Dialog的Style

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

创新互联建站专注于中大型企业的成都网站设计、成都网站建设和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户成百上千家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注品牌网站设计和互联网程序开发,在前进的路上,与客户一起成长!

1、Dialog的默认背景的设置

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

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

一般都是设置成圆角的,所以自己切一个圆角背景图就好了,这个this指的是Dialog,千万不要获取上下文的getWindow,这个window设置了还是没有效果,所以一定在Dialog的Window设置背景

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

2、其他的属性设置

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

我们可以在代码中尝试不使用Style然后设置一下下面这些代码,试试效果。

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

(2)去阴影,这里指的是一般对话框之外的部分有个灰色的接近透明的阴影层,设置这个相当于去掉这个阴影层:getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

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

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

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

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

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

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

//dialog设置各种属性

getWindow().setAttributes(wmParams);

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


当前名称:Android使用代码设置Dialog的Style
网页URL:http://hbruida.cn/article/jjeioi.html