在设计dialog的时候,根据某些产品的需求需要加dialog设置全屏显示:如果使用正常的布局方式不管你这么设置都不会使dialog全屏,都会有个边界(dialog自带属性)。
对于需要显示全屏你需要做的就是添加几行代码就可以了。
如下:设置全屏显示就可以了。
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = WindowManager.LayoutParams.FILL_PARENT;
lp.height = WindowManager.LayoutParams.FILL_PARENT;
window.setAttributes(lp);
再来看实际在项目中这么去实现,全屏显示:
dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#123456"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher" />
</LinearLayout>
在java代码中只需要写入设置窗口的方法就好了。
private void showDialog() {
final AlertDialog dialog = new AlertDialog.Builder(this).create();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.show();
Window window = dialog.getWindow();
window.getDecorView().setPadding(0, 0, 0, 0);
window.setGravity(Gravity.CENTER);
window.setContentView(R.layout.abc);
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = WindowManager.LayoutParams.FILL_PARENT;
lp.height = WindowManager.LayoutParams.FILL_PARENT;
window.setAttributes(lp);
}
如此就能弹出全屏的dialog了。