Android尝试将对话框最大化为全屏

时间:2016-01-22 13:02:27

标签: android

我想将对话框全屏显示在手机上。我尝试了几种找到不同地方的方法。编码是:

@Override
public void onCreate(Bundle saveBundle) {
    super.onCreate(saveBundle);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    WindowManager.LayoutParams params = getWindow().getAttributes();
    WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();

    Point size = new Point();
    display.getSize(size);
    params.x = 0;
    params.y = 0;
    params.height = size.y;
    params.width = size.x;
    getWindow().setAttributes(params);
}

将标志设置为FLAG_FULLSCREEN并设置对话框大小都不起作用。 两侧和顶部都有间距。

我可以通过硬编码设置位置和大小来缩小空格,例如:

params.x = -30;
params.y = -40;
params.height = size.y + 30;
params.width = size.x + 60;

有任何建议可以正确解决这个问题吗?

4 个答案:

答案 0 :(得分:1)

试试这个,

dialog = new Dialog(context,android.R.style.Theme_Transculent_NoTitleBar_FullScreen);

答案 1 :(得分:0)

尝试使用此代码创建对话框:

    dialog = new Dialog(getActivity(),android.R.style.Theme_Translucent_NoTitleBar);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.loading_screen);
    Window window = dialog.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();

    wlp.gravity = Gravity.CENTER;
    wlp.flags &= ~WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
    window.setAttributes(wlp);
    dialog.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.MATCH_PARENT);
    dialog.show()

答案 2 :(得分:0)

尝试修改对话框布局参数.....

localDialog = new Dialog(context);
localDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams wmlp = localDialog.getWindow().getAttributes();
wmlp.width=LayoutParams.FILL_PARENT;
wmlp.height=LayoutParams.FILL_PARENT;

答案 3 :(得分:0)

我也遇到了这个问题而且我做了大量的研发以全屏设置Dialog但是我得到了相同的结果。很多代码工作正常但在某些设备中对话框不显示正确。所以最后我决定设置对话框布局的minHeight和minWidth。以下代码在我的案例中工作正常。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:minWidth="@dimen/dp_900"
          android:minHeight="@dimen/dp_900"
        >

<!--MY LAYOUT DESIGN-->

我希望你对我的想法很清楚。

最好的运气