Android 全屏片段

Android 全屏片段,android,fragment,android-fullscreen,Android,Fragment,Android Fullscreen,我正在制作一个应用程序,当手机处于纵向时,我需要片段显示菜单栏(带有设置快捷键等),但当手机处于横向时,我需要全屏 所以,我有一个活动管理2个片段,如果是纵向的,则称为片段1,如果是横向的,则称为片段2。 只有片段2需要全屏显示 可能吗?您不需要2个片段。只需将android:configChanges=“orientation | screenSize”添加到清单文件中的活动中,并将以下内容添加到活动中: private int oldOptions; @Override public vo

我正在制作一个应用程序,当手机处于纵向时,我需要片段显示菜单栏(带有设置快捷键等),但当手机处于横向时,我需要全屏

所以,我有一个活动管理2个片段,如果是纵向的,则称为片段1,如果是横向的,则称为片段2。 只有片段2需要全屏显示


可能吗?

您不需要2个片段。只需将
android:configChanges=“orientation | screenSize”
添加到清单文件中的活动中,并将以下内容添加到活动中:

private int oldOptions;

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    super.onConfigurationChanged(newConfig);

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
    {
        oldOptions = getWindow().getDecorView().getSystemUiVisibility();
        int newOptions = oldOptions;
        newOptions &= ~View.SYSTEM_UI_FLAG_LOW_PROFILE;
        newOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
        newOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        newOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE;
        newOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
        getWindow().getDecorView().setSystemUiVisibility(newOptions);
        getActionBar().hide();
    }
    else
    {
        getWindow().getDecorView().setSystemUiVisibility(oldOptions);
        getActionBar().show();
    }
}

您需要覆盖
onConfigurationChanged
并管理
活动中的操作栏

@Override
public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
        getActionBar().show();
    }
    else {
        getActionBar().hide();
    }
}
 android:configChanges="orientation|screenSize"
还为此
活动在清单中设置
configChanges

@Override
public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
        getActionBar().show();
    }
    else {
        getActionBar().hide();
    }
}
 android:configChanges="orientation|screenSize"

此外,通知栏还更新了真实全屏回答