我是Android开发的新手。 - 我的要求是:当我按下切换按钮时,我的应用程序应该全屏显示 在我的应用程序上“开启”。 - 我做了很多研究,发现如果我们设置“View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY” 该应用程序变为全屏,并保持全屏显示。 - 我的应用程序中有三个选项卡(主页,详细信息,速度),我创建了三个不同的选项卡 每个选项卡的布局文件。 - 所以,在“Home”选项卡的布局文件中:fragment_home我将代码编写为:
public class HomeFragment扩展了Fragment {
私人查看mDecorView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
mDecorView = getWindow().getDecorView();
ToggleButton tb = (ToggleButton)getView().findViewById(R.id.toggleButton1);
tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// The toggle is enabled
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
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.INVISIBLE);
} else {
// The toggle is disabled
}
}
});
return rootView;
}
}
但我得到的错误是“方法getWindow()未定义类型HomeFragment” ** getWindow()是一个系统方法,即使在他们正在使用它的Android开发者网站上也是如此。那为什么它不适合我。我的代码中的问题在哪里。 请帮忙 !!
答案 0 :(得分:1)
窗口与活动相关联。因此改变:
mDecorView = getWindow().getDecorView();
到
mDecorView = getActivity().getWindow().getDecorView();