Android使用代码设置Dialog的Style-创新互联

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

创新互联-专业网站定制、快速模板网站建设、高性价比望谟网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式望谟网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖望谟地区。费用合理售后完善,10多年实体公司更值得信赖。

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Android使用代码设置Dialog的Style-创新互联
分享地址:http://pwwzsj.com/article/cocjog.html