防止SlidingUpPanelLayout隐藏

时间:2015-07-16 11:48:52

标签: android slidingdrawer

我在我的应用的每个活动中使用SlidingUpPanelLayout。我希望drawer折叠(并显示一种迷你播放器)或完全打开。

我的所有活动的基类都会覆盖onBackPressed(),如果drawer被打开则会被按下,它会调用:

setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);

但是我的应用程序的活动效果不同。

在一项活动(主要/家庭活动)中,如果按回(或点击抽屉),抽屉会折叠。 =>!好

在所有其他活动中,如果按回(或点击抽屉),抽屉将被隐藏(我可以在LogCat' onPanelHidden')=>不好。

我想按下或触摸抽屉以在所有活动中折叠抽屉(并且从不隐藏它)。如何防止抽屉被隐藏?

更新 如果我在检测到抽屉正在关闭时以编程方式显示操作栏(Sherlock)时,似乎只会发生这种情况

  @Override
  public void onPanelSlide(View panel, float slideOffset) {
      Log.i(TAG, "onPanelSlide, offset " + slideOffset);
      if (slideOffset < mPreviousSlideOffset) {
          showActionBar()
       }
     ...
     mPreviousSlideOffset = slideOffset;
    }

在这种情况下,我可以在日志中看到slideOffset可以取负值。

如果我只在调用onPanelCollapsed()时显示操作栏,则抽屉不会隐藏在我的任何活动中。 (但在此阶段只显示动作栏看起来不流畅或自然)

0 个答案:

没有答案