【发布时间】:2016-09-21 05:51:34
【问题描述】:
在我的应用程序中,我有许多可以以纵向和横向模式显示的片段,除了一个片段,我需要以纵向模式显示。
现在一切都很好,除了一种情况: 如果手机处于横向模式,并且我想显示配置为纵向的片段,则屏幕变为空白并且在我更改方向之前什么都不会出现。
即使手机处于“横向位置”,也有一种方法可以纵向显示我的活动。
这就是我如何将片段设置为仅在显示时为纵向,并在更改为其他片段时恢复为原始配置。
@Override
public void onResume() {
super.onResume();
Log.i(TAG, "resume");
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
@Override
public void onPause() {
super.onPause();
Log.i(TAG, "onpause");
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
附:所有片段都在同一个活动中。
【问题讨论】:
标签: android android-fragments orientation