android - 当某些 fragment 可见时启用显示方向更改,当其他 fragment 可见时禁用

标签 android android-fragments

我在我的应用中使用 fragment 。大多数 fragment 应该只有一个方向——肖像。所以我强制 holder activity 始终处于纵向模式。

但我的一个 fragment 应该同时具有纵向和横向模式。如何仅对一个 fragment 启用方向更改?或者我需要让它成为一个单独的 Activity 来处理方向而不依赖于其他 fragment ?

最佳答案

您必须手动完成。

1) 将此行添加到您的 Activity 标签 android:configChanges="orientation|screenSize"

2) 在你的 fragmtn 或 activity 中覆盖配置更改回调

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

   if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
    }

//Your fragment animation layout changing code

}

关于android - 当某些 fragment 可见时启用显示方向更改,当其他 fragment 可见时禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15069633/

相关文章:

android - 在 frgamentActivity oncreate() 上检查 savedinstancestate 的原因

android - 适配chrisbanes Action Bar-Pull To Refresh to Fragments(Navigation Drawer)

android - 包裹 android.os.Parcel : Unmarshalling unknown type code

java - Azure 移动应用程序 (Android) 以编程方式创建 Easy Table

android - 读取 Active Wifi 2.4 Ghz RFID 标签 android?

android - 更改查询时如何使用 FirebaseUI 刷新 FirebaseAdapter 中的数据?

android - 如何在Android上实现流畅的 fragment 交易动画

android - 找不到兼容的目标

android - drawBitmap到带有透明位图的 Canvas ,替换原始像素

android - 从内部 viewpager fragment 调用 Activity 方法