2013-01-04 72 views
5

我正在使用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和滑動菜單的不同庫? –

回答

1

我找到了解決方案。 在文件SlidingMenu.java找到函數

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

和第三個參數更改爲true, attachToActivity(活動,slideStyle,真正的); 即actionbarOverlay param應設置爲true。 它適合我。 不要忘記將topMargin或填充添加到菜單佈局中,因爲第一個列表項可能被ActionBar隱藏。請參閱CustomViewBehind.java中的onLayout函數。