【问题标题】:How to make an activity not full screen如何使活动不全屏
【发布时间】:2017-11-09 13:31:04
【问题描述】:

我使用此代码使活动全屏显示

requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_read);

如何通过按一下按钮使活动不再全屏?

【问题讨论】:

  • 您是否在询问如何从现有活动中删除全屏设置而不重新创建它?
  • getWindow().clearFlags(int flags);

标签: java android android-activity


【解决方案1】:

如果您更改高度和宽度,请在此代码中替换您想要的值 .8 和 .85

    DisplayMetrics dm=new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int width=dm.widthPixels;
    int height=dm.heightPixels;
    getWindow().setLayout((int)(width*.8),(int)(height*.85));

注意:数值不超过1

【讨论】:

    【解决方案2】:

    使用此功能进入/隐藏沉浸式全屏模式

     View mDecorView = getWindow().getDecorView();
    
     private void hideSystemUI() {
        mDecorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
                        | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
                        | View.SYSTEM_UI_FLAG_IMMERSIVE);
    }
    
        private void showSystemUI() {
        mDecorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
    }
    

    更多:https://developer.android.com/training/system-ui/immersive.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多