3

当 SlidingMenu Library 和 ViewPager 在装有 Android 3.2 (Honeycomb) 的设备上运行时,我遇到了一个奇怪的问题。

当我们“切换”SlidingMenu 以显示隐藏在应用左侧的菜单时,就会出现问题。当我们这样做时,ContentView 和 BehinContentView 都会停止响应触摸事件。

认为这是与我的应用程序有关的问题,我下载了最新版本的 ABS 和 SlidingMenu 库,并使用 SlidingMenu 附带的内置示例配置了一个新项目,令我惊讶的是,ViewPager 发生了相同的行为例子。

这些是我所做的步骤:

  1. 使用API 级别 137" WSVGA(平板电脑)配置模拟器;
  2. 从 GIT下载ABSSlidingMenu ;
  3. 设置一个新项目,使用兼容性库android-support-v41(也使用 android-support-v4 测试);
  4. 解决了“ getSupportActionBar() 未定义”的问题,如下所述:https ://github.com/jfeinstein10/SlidingMenu/issues/145 ;
  5. 运行“示例应用程序”并选择“ ViewPager ”示例;
  6. 左右滑动页面,无需打开菜单;
  7. 打开菜单。看到列表没有按预期滚动;
  8. 关闭菜单。看到 viewpager 不再响应触摸事件;

请注意,仅在 Android 3.2 设备上报告了此行为。我们在 2.x 和 4.x 设备上运行相同的应用程序,没有这个问题。

另外,注意到从 Google Play 下载的示例应用程序没有这个问题。

有人有什么建议吗?非常感谢!

编辑 1

在真实设备上进行了测试,并确认了行为。有人有建议吗?

4

1 回答 1

6

我遇到了同样的问题,并通过使用以下解决方法修复了它。

在 SlidingMenu.java 中替换这些行:

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void manageLayers(float percentOpen) {
    if (Build.VERSION.SDK_INT < 11) return;

和:

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void manageLayers(float percentOpen) {
    if (Build.VERSION.SDK_INT < 14) return;
于 2013-05-16T13:57:17.077 回答