默认的Dialog是不能全屏的。也就是怎么设置Dialog的Layout都没用的。
下面给出实现Dialog实现全屏的两种方式:
1、代码实现。这中方法相对比较简单
首先继承Dialig,然后再构造函数中添加
super(context, android.R.style.Theme);
setOwnerActivity((Activity)context);
2、XML实现
首先,在values文件中添加一个XML文件,其次,在XML文件中设置一个style然后,添加如下代码:
true
true
最后,在代码里设置Dialog的Theme
Dialog dialog = new Dialog(this, R.style.Dialog_Fullscreen);
dialog.setContentView(R.layout.main);
dialog.show();
如果我们只想要实现宽全屏可以用下面的方法:
dialog.setView(view);
dialog.show();
WindowManager m = getWindowManager();
Display d = m.getDefaultDisplay(); //为获取屏幕宽、高
android.view.WindowManager.LayoutParams p = dialog.getWindow().getAttributes(); //获取对话框当前的参数值
//p.height = (int) (d.getHeight() * 0.3); //高度设置为屏幕的0.3
p.width = (int) (d.getWidth()); //宽度设置为全屏
dialog.getWindow().setAttributes(p); //设置生效
转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/11082.html
微信打赏
支付宝打赏
感谢您对作者Lena的打赏,我们会更加努力! 如果您想成为作者,请点我