您的位置:首页 > 移动开发 > Android开发

Android自定义Dialog实现弹出它的Activity背景变暗,并自定义Dialog的大小

2016-04-26 20:08 691 查看
最近项目需要,自定义了一个日期时间选择器,使用到了自已的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();


上面是解决的代码,各项意思很简单,百度一下即可知道

下面是解决之后的效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: