本文主要是介绍Android自定义Dialog实现弹出它的Activity背景变暗,并自定义Dialog的大小,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近项目需要,自定义了一个日期时间选择器,使用到了自已的XML布局,R.layout.XXX,但是运行时发现,它并不像一个Dialo悬浮在Activity上,反而本身就像一个Activity,效果不好,于时百度一下,结果发现,网上并没有完整的解决方案,不过倒是能找到相似的,比如“Dialog弹出后背景不变暗”,于是自已根据众位大牛的博客,找出了解决方法,现奉上完整解决方案:
没解决之前的效果像上面那样
DatetimePickerDialog timeDialog = new DatetimePickerDialog(CustomReportActivity.this, AlertDialog.THEME_HOLO_LIGHT, new MyDateTimeCallBack(item, btn));LayoutParams attributes = timeDialog.getWindow().getAttributes();DisplayMetrics metrics = getResources().getDisplayMetrics();attributes.width = (int) (metrics.widthPixels * 0.9);attributes.height = (int) (metrics.heightPixels * 0.9);attributes.flags = LayoutParams.FLAG_DIM_BEHIND;attributes.dimAmount = 0.5f;timeDialog.getWindow().setAttributes(attributes);timeDialog.show();
下面是解决之后的效果图:
这篇关于Android自定义Dialog实现弹出它的Activity背景变暗,并自定义Dialog的大小的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!