最近项目需要,自定义了一个日期时间选择器,使用到了自已的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();
下面是解决之后的效果图:
本文提供了一种解决自定义日期时间选择器悬浮显示不正确的问题的方法,包括调整窗口尺寸、设置背景暗化等步骤,最终实现选择器以对话框形式正确悬浮在Activity上。

175

被折叠的 条评论
为什么被折叠?



