ActionBar在Android 4.1和Android 4.0上显示和隐藏不同的效果 -

时间:2013-02-12 14:29:27

标签: android android-actionbar actionbarsherlock

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

在Android 4.1+上,操作栏向上滑动并从隐藏的scren(这是我需要的动画)中移出(与显示相反),但在Android 4.0或更低版本中,效果是不透明度淡出。 / p>

使用幻灯片获得与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。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

希望这会有所帮助,否则请在下面发表评论