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

本文提供了一种解决自定义日期时间选择器悬浮显示不正确的问题的方法,包括调整窗口尺寸、设置背景暗化等步骤,最终实现选择器以对话框形式正确悬浮在Activity上。

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


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


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





操作方式遥控器操作方式与主流视频播放软件类似;频道切换:使用上下方向键,或者数字键切换频道;屏幕上下滑动;频道选择:OK键;单击屏幕;设置页面:按下菜单、帮助键,长按OK键;双击、长按屏幕;触摸键位对应方向键:屏幕上下左右滑动OK键:点击屏幕长按OK键:长按屏幕菜单、帮助键:双击屏幕自定义设置访问以下网址:http://<设备IP>:10481打开应用设置界面,移到最后一项支持自定义订阅源、自定义节目单、缓存时间等等须知:网页中引用了jsdelivr的cdn,请确保能够正常访问自定义订阅源设置入口:自定义设置网址格式支持:m3u格式、tvbox格式多订阅源设置入口:打开应用设置界面,选中自定义订阅源项,点击后将弹出历史订阅源列表历史订阅源列表:短按可切换当前订阅源(需重启),长按将清除历史记录;该功能类似于多仓,主要用于简化订阅源切换流程须知:当订阅源数据获取成功时,会将该订阅源保存到历史订阅源列表中当订阅源数据获取失败时,会将该订阅源移出历史订阅源列表多线路功能描述:同一频道拥有多个播放地址,相关标识位于频道名称后面切换线路:左右方向键;屏幕左右滑动自动切换:当当前线路播放失败后,将自动播放下一个线路,直至最后须知:当某一线路播放成功后,会将该线路的域名保存到可播放域名列表中当某一线路播放失败后,会将该线路的域名移出可播放域名列表当播放某一频道时,将优先选择匹配可播放域名列表的线路自定义节目单设置入口:自定义设置网址格式支持:.xml、.xml.gz格式多节目单设置入口:打开应用设置界面,选中自定义节目单项,点击后将弹出历史节目单列表具体功能请参照多订阅源当天节目单功能入口:打开应用选台界面,选中某一频道,按下菜单、帮助键、双击屏幕,将打开当天节目单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值