我在Android工作。我需要以全屏模式显示我的活动,我使用以下代码完成此操作。
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
现在看起来像这样: -
现在我想退出这个完整模式,所以我的活动应该像以前一样显示。像这样: -
我有一个用于在完全模式或正常模式之间切换的按钮,我将一次又一次地切换模式。请建议我怎么做这个。意味着如何从全屏获得正常的屏幕。
提前谢谢。
答案 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的根布局)。