因为项目需求,不能使用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、暂时先想起来以上两个,之后想起来再继续补充。还有,这个明明是自己写的,为啥说是超别人的,本身代码就是这样,不理解代码写的一样就是转载的别人么?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。