5

我正在为 Black Ops 2 指南应用程序使用 ActionBarSherlock 库和滑动菜单库,并尝试在滑动菜单的同一活动中插入漂亮的“覆盖”功能。结果是:

  • 覆盖不起作用
  • 动作条切割

这是代码:

    requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.c_m_pyrrhicvictory);   
    Resources res = getResources();
    SlidingMenu menu = new SlidingMenu(this);
    menu.setMode(SlidingMenu.LEFT);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setShadowWidthRes(R.dimen.shadow_width);
    menu.setShadowDrawable(R.drawable.shadow);
    menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
    menu.setFadeDegree(0.35f);
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
    menu.setMenu(R.layout.main_slidingmenu);
    getActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setBackgroundDrawable(getResources().
         getDrawable(R.drawable.ab_bg_black));
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setSubtitle("1/10 Standard");
    getSupportActionBar().setTitle("Missions");

截图: 主要活动 SlidingMenu

4

1 回答 1

1

我找到了解决方案。在文件 SlidingMenu.java 中找到函数

public void attachToActivity(Activity activity, int slideStyle) {
        attachToActivity(activity, slideStyle, false);
    }

并将第三个参数更改为 true,attachToActivity(activity, slideStyle, true); 即 actionbarOverlay 参数应设置为true。这个对我有用。不要忘记在 Menu 布局中添加 topMargin 或 padding,因为第一个列表项可能会被 ActionBar 隐藏。请参阅 CustomViewBehind.java 中的 onLayout 函数。

于 2014-11-21T12:43:07.627 回答