android - 当方向改变时,Actionbar scherlock 不会刷新

标签 android android-actionbar actionbarsherlock

我在我的应用程序中使用 Sherlock 操作栏。我在菜单中使用了“ifRoom|withText”功能。如果我在纵向模式下测试我的代码,我只能看到图标,如果我将方向旋转为横向,我仍然只能看到图标。另一方面,如果我横向运行,我可以在纵向和横向上看到文字和图标。这意味着当屏幕旋转时,操作栏不会刷新。我该如何解决?

在菜单中,我有

    android:showAsAction="ifRoom|withText"

我也在我的 list 文件中使用了这一行来修复

    android:configChanges="keyboardHidden|orientation|screenSize"

但是没有用。然后我运行我的代码 android 2.3

我还在我的 Activity 中使用了 fragment ,

        FragmentManager fm = getSupportFragmentManager();
    ft = fm.beginTransaction();

    mFragment1 = fm.findFragmentByTag("f1");

    if (mFragment1 == null) {

        mFragment1 = new MenuFragment();
        ft.add(mFragment1, "f1");

    }

    ft.commit();

最佳答案

ActionBarSherlock 不支持处理配置更改。

在 pre-ICS 上,ActionBarSherlock 不像原生操作栏那样是装饰 View 的一部分,因此受到与内容 View 相同的限制。通过处理配置更改,您不允许库适应更改,因此会看到不正确的显示或某些部分。

Android 文档也不鼓励处理配置更改。不惜一切代价避免使用它们,尤其是在使用 ActionBarSherlock 时。

在相关说明中,我仍在尝试为库的 future 版本解决这个问题,但现在建议避免。

关于android - 当方向改变时,Actionbar scherlock 不会刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10589676/

相关文章:

android - 在选项卡导航和列表导航之间切换

java - 从模块中删除 ActionBarSherlock

android - 如何在 Android Studio 上导入滑动菜单?

java - 如何在旧版 Android 设备(例如 Gingerbread 和 Froyo)上显示首选项屏幕?

java - 如何像 Eclipse 一样清理 IntelliJ IDEA 中的项目缓存?

android - 崩溃后启动应用程序

android - 如何强制重绘 ListView ?

android - 将图像添加到不是操作项的 android 操作栏

android - ActionBar 上特定菜单项的不同外观/样式

java - ImageView在滑动面板中消失