1

我的应用程序使用 ActionBarSherlock 来显示和隐藏操作栏。

在 Android 4.1+ 上,操作栏向上滑动并在隐藏时退出屏幕(这是我需要的动画)(显示相反),但在 Android 4.0 或更低版本上,效果是不透明淡出。

使用幻灯片获得与 Android 4.1 相同效果的最佳方法是什么?

更新:
我去 hide() 实现并查看 Sherlock 方法。在此方法mContentView中检查它是否为空。

mContentView仅在我们没有windowActionBarOverlay设置为时才设置true

if ((features & (1 << Window.FEATURE_ACTION_BAR_OVERLAY)) == 0) {
        mContentView = (NineFrameLayout)decor.findViewById(android.R.id.content);
    }

事实上,如果我删除 ActionBarOverlay 选项,所有版本都使用相同的效果来隐藏和显示操作栏,但我需要将此设置为 true。

4

1 回答 1

1

首先,在这个用例中,使用或不使用 actionbarsherlock 的实现不会有所不同。由于您使用的是 4.0 和 4.1。动画将依赖于 SDK 提供的动画,而不是 ActionBarSherlock。

目前您有 2 个动画,一个来自 4.0,一个来自 4.1。这些是获得相同动画所需的步骤:

  • 找出调用动画的位置
  • 从 4.1 中找到动画并导入到您的项目中
  • 设置显示/隐藏操作栏时要调用的动画
  • 该动画将在 4.0 和 4.1+ 中调用

我不确定 3.0 之前的设备会发生什么,

希望这有帮助,否则在下面评论

于 2013-02-12T15:01:08.460 回答