Android会在不使用requestWindowFeature的情况下全屏显示对话框

时间:2016-12-26 04:59:47

标签: android android-layout

 dialogNewdata = new Dialog(this);
 dialogNewdata.requestWindowFeature((int) Window.FEATURE_NO_TITLE);
 ialogNewdata.setContentView(R.layout.dialog_newacticity);
 dialogNewdata.show();

我使用了此代码,但Dialog未全屏显示,dialogNewdata获得wrap_content尺寸

6 个答案:

答案 0 :(得分:0)

dialogNewdata.getWindow().setLayout(WindowManager.LayoutParams.MATCH_CONTENT, WindowManager.LayoutParams.MATCH_CONTENT);

之后尝试此代码
dialogNewdata.show();

答案 1 :(得分:0)

   Display display = getWindowManager().getDefaultDisplay();
   Window window = dialog.getWindow();
   window.setLayout((int) (display.getWidth()), (int)(display.getHeight()));
   dialog.show();

尝试以下代码......希望它有效。

答案 2 :(得分:0)

有几种方法:

1.使用:

@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ AppComponent, NavbarComponent ], << add here
  bootstrap:    [ AppComponent ]
})

2.使用Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen)

windowmanager

答案 3 :(得分:0)

尝试..

Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen)

这会对你有帮助。

答案 4 :(得分:0)

全屏Dialog

Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.test);  // test is your layout you display in your alert
dialog.show();

注意:关于使用的主题;

Theme_Black_NoTitleBar_FullscreenTheme_Black的变体,没有标题栏,没有状态栏。此主题将windowFullscreen设置为true。 [所以不需要测量高度]

这就是为什么你把它作为全屏显示的原因。默认情况下它的黑色(没有setContentView

答案 5 :(得分:0)

之前添加此内容
   final WindowManager.LayoutParams wlmp = dialog.getWindow().getAttributes();
    wlmp.gravity = Gravity.BOTTOM;
    wlmp.width = WindowManager.LayoutParams.MATCH_PARENT;
    wlmp.height = WindowManager.LayoutParams.WRAP_CONTENT;
    dialog.getWindow().setAttributes(wlmp);

之前

 dialog.show()