【问题标题】:ActionbarSherlock - tabs unresponsive in landscape orientationActionbarSherlock - 横向标签无响应
【发布时间】:2012-04-07 14:24:56
【问题描述】:

我目前正在使用 actionbarsherlock 向后移植我的应用程序以使其在 3.0 之前的设备上运行。

如果用户以纵向模式启动应用程序,然后旋转屏幕并尝试选择选项卡,则在用户执行另一个操作之前不会发生任何事情。可以在此处下载执行此操作的当前版本 (sherlock-alpha1) http://tinyurl.com/cz95nup

标签的添加方式如下

        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        bar.addTab(bar.newTab().setText("tab1").setTabListener(this),false);
        bar.addTab(bar.newTab().setText("tab2").setTabListener(this),false);
        bar.addTab(bar.newTab().setText("tab3").setTabListener(this),false);

如果您以横向启动应用程序然后以纵向模式使用它,也会发生这种情况(纵向选项卡不起作用)。

它在运行本机操作栏的设备上运行良好。

【问题讨论】:

  • 你现在运行的 minSDK 版本是多少?
  • @Davek804 android:minSdkVersion="7"
  • 我最近做了同样的事情,我没有遇到这个错误。如果您将 minVersion 切换到 10,它仍然会发生吗?你在什么版本的设备上测试这个?是 AVM 吗?
  • 我在运行 2.34 的 Xperia neo v 上对其进行了测试,我得到了这种行为。我还在多个模拟器上对其进行了测试。您是否设法测试了 APK?
  • 刚刚测试了将 minVersion 设置为 10 并且问题仍然存在。设备似乎注册了点击,但在您触摸其他东西(例如菜单溢出按钮)之前不会对其进行操作。

标签: android android-layout android-actionbar actionbarsherlock


【解决方案1】:

您是否正在处理清单中的配置更改?

android:configChanges="orientation"

如果是这样,这不允许 ActionBarSherlock 安装的虚假装饰视图在旋转时重新初始化,这将导致很多问题。

应尽可能谨慎地处理配置更改。文档指出it should be used as a last resort

图书馆的未来版本有望能够考虑到选择这样做的人。

【讨论】:

  • 我感觉可能与此有关。我将不得不重新编写我的代码。它目前用于停止重新下载列表并在方向更改时配置列表片段的宽度。关于如何以不同的方式做到这一点的任何简单想法?感谢您的支持。
【解决方案2】:

对我来说,在方向更改后它没有响应,而不是在横向模式下。 经过大量试验和错误后,我找到了解决此错误的以下方法:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    super.onConfigurationChanged(newConfig);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
}

诀窍是将导航模式更改为列表,然后再更改回选项卡。

【讨论】:

    【解决方案3】:

    我找到了解决方法。 可能不是一个正确的实现,因为它重新创建了选项卡布局,但它可以工作:)

    https://github.com/JakeWharton/ActionBarSherlock/pull/549

    【讨论】:

      【解决方案4】:

      我也有同样的问题。我必须添加这些行,在 AVD 上没问题,不知道它是否在真实设备上工作。

      <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity="true" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多