android从全屏模式退出

时间:2012-03-13 13:01:04

标签: android layoutparams android-windowmanager

我在Android工作。我需要以全屏模式显示我的活动,我使用以下代码完成此操作。

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);

现在看起来像这样: - enter image description here

现在我想退出这个完整模式,所以我的活动应该像以前一样显示。像这样: -

enter image description here

我有一个用于在完全模式或正常模式之间切换的按钮,我将一次又一次地切换模式。请建议我怎么做这个。意味着如何从全屏获得正常的屏幕。

提前谢谢。

3 个答案:

答案 0 :(得分:40)

根据以下代码,我可以根据您的需要隐藏TitleBar

Button full;
static int vari = 0;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    full = (Button)findViewById(R.id.fullview);
    full.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(vari == 0)
            {
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                vari = 1;
            }else 
            {
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);                 
                vari = 0;
            }

        }
    });
}

试试这段代码。它可以帮助你。

答案 1 :(得分:12)

要禁用全屏:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
ActivitiesCurrentContentView.requestLayout();

重新启用全屏:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
ActivitiesCurrentContentView.requestLayout();

我认为您的案例中的关键是重新请求布局。

答案 2 :(得分:0)

当片段附加到活动时,从ICS, FULL Screen模式重置。最好的方法是添加代码

getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getActivity().findViewById(R.id.root).setSystemUiVisibility(View.STATUS_BAR_HIDDEN);

在片段的回调onActivityCreated中(布局id root 是Activity的根布局)。