LotusLoveNature

日常工作,生活小记

Dialog如何实现横竖屏切换全屏呢

       这里有一个继承系统Dialog的自定义类ScreenChangeDialog,我现在已经做到全屏显示,但是目前是一直是竖屏状态,当把只竖屏的限制去掉后,ScreenChangeDialog可以随系统横屏了。但是有个问题,原本竖着全屏的Dialog在变成横屏后,变窄了,宽度无法适应屏幕,原本竖着的Dialog在变成横屏后也有同样的问题。

       我想怎么解决这个问题呢,首先想到的是style,但是也不对呀,style已经设置好了,不然单向的时候为啥是全屏的呢。

       这时想到之前做过的视频菜单也是dialog,可以设置他的宽高,位置等信息。于是尝试用 WindowManager.LayoutParams extends ViewGroup.LayoutParams implements Parcelable 这个类,可以给这个params设置宽高,这里因为要全屏,设置match_parent。然后最重要的ScreenChangeDialog.this.getWindow().setAttributes(lp); 这些设置在show出来之前调用才会有效,所以重写shoe方法,做以上处理。然后运行发现没有任何问题。解决了Dialog在横竖屏切换默认没有全屏的问题。

评论
©LotusLoveNature | Powered by LOFTER