gpt4 book ai didi

如果方向改变,则不会显示 Android fragment

转载 作者:行者123 更新时间:2023-11-29 15:41:25 25 4
gpt4 key购买 nike

在我的应用程序中,我有许多 fragment 可以在纵向和横向模式下显示,除了一个,我需要在纵向模式下显示。

现在一切正常,除了一种情况:如果手机处于横向模式,而我想显示配置为纵向的 fragment ,则屏幕变为空白并且在我更改方向之前不会出现任何内容。

即使手机处于“横向位置”,也有一种方法可以纵向显示我的 Activity 。

这就是我如何将 fragment 设置为仅在显示时为纵向,并在更改为其他 fragment 时恢复为原始配置。

@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);
}

附言所有 fragment 都在同一个 Activity 中。

最佳答案

我有一些类似的问题,在我的 Activity 中我尝试了这样的事情:

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Fragment currentFragment =
getSupportFragmentManager().findFragmentById(R.id.fragment_container);
getSupportFragmentManager().beginTransaction()
.detach(currentFragment).attach(currentFragment).commit();
}

并将此添加到 AndroidManifest.xml文件 <activity> :

android:configChanges="orientation|screenSize"

关于如果方向改变,则不会显示 Android fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39589010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com