用SlidingMenu和ActionBar Sherlock叠加的Action Bar

问题描述:

我正在使用ActionBarSherlock库和一个Black Ops 2指南应用程序的Sliding Menu库,并试图在相同的活动中插入美丽的“叠加”功能滑动菜单。 结果是:用SlidingMenu和ActionBar Sherlock叠加的Action Bar

  • 叠加不起作用
  • 操作栏切

这是代码:

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"); 

截图: Main Activity SlidingMenu

+0

我遇到同一个pb。看起来这是SlidingMenu的限制。通过这个库和actionbarsherlock的代码可能会有所帮助,如果不是这样的话,在滑动菜单的github repo中打开票据可能是个好主意。 – Teovald

+0

是否有两个ActionBar和滑动菜单的不同库? –

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

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

和第三个参数更改为true, attachToActivity(活动,slideStyle,真正的); 即actionbarOverlay param应设置为true。 它适合我。 不要忘记将topMargin或填充添加到菜单布局中,因为第一个列表项可能被ActionBar隐藏。请参阅CustomViewBehind.java中的onLayout函数。