我在我的应用的每个活动中使用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()时显示操作栏,则抽屉不会隐藏在我的任何活动中。 (但在此阶段只显示动作栏看起来不流畅或自然)