温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android使用代码设置Dialog的Style

发布时间:2020-07-16 21:42:10 来源:网络 阅读:7453 作者:fanwei4751 栏目:移动开发

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI