我希望在单击时隐藏Sherlock动作条,并在用户再次单击时显示它,从而在交替单击时显示/隐藏。
显示和隐藏的代码是:
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
ActionBar actionBar = getSupportActionBar();
if (actionBar.isShowing()) {
actionBar.hide();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
} else {
actionBar.show();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
return super.onSingleTapConfirmed(e);
}
上面的代码对我来说很好,但问题是用户在转换od动作和通知栏从显示到隐藏时看到的反射,反之亦然。
为了避免混蛋,我在onCreate方法中添加了以下行,但是当操作栏从不可见状态变为可见时,它会导致操作栏覆盖UI元素。
requestWindowFeature(com.actionbarsherlock.view.Window.FEATURE_ACTION_BAR_OVERLAY);
当混蛋从隐藏状态变为可见状态时,是否有任何出路不存在且操作栏没有重叠在UI元素上?
答案 0 :(得分:1)
如何通过顶部的滑动菜单实现类似行为? 你可以设置roiding到SlidingDrawer并使用它
android:rotation="180" // in SlidingDrawer manifest tag.
我知道SlidingDrawer在API 17中已弃用,但您可以随时使用它的自定义实现。我相信这对你来说非常顺利。