2013-01-04 5 views
5

Ich arbeite mit der ActionBarSherlock-Bibliothek und der Sliding-Menü-Bibliothek für eine Black Ops 2 Guide-Anwendung und habe versucht, die schöne "Overlay" -Funktion in die gleiche Aktivität einzufügen das Schiebe-Menü Das Ergebnis ist:Action Bar mit SlidingMenu und Overlay von ActionBar Sherlock

  • Das Overlay nicht
  • Aktionsleiste
  • schneiden

Dies funktioniert der Code:

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

Screenshots: Main Activity SlidingMenu

+0

Ich bin auf dem gleichen pb. Es scheint, dass dies eine Einschränkung von SlidingMenu ist. Es kann hilfreich sein, den Code dieser Bibliothek und actionbarsherlock durchzugehen, wenn es nicht ratsam ist, ein Ticket im Github-Repo des gleitenden Menüs zu öffnen. – Teovald

+0

Gibt es verschiedene Bibliothek für beide ActionBar & Sliding Menu? –

Antwort

1

Ich habe eine Lösung gefunden. In Datei SlidingMenu.java die Funktion

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

und ändern dritten Parameter auf true, attachToActivity (Aktivität, slideStyle, true) zu finden; d. H. ActionbarOverlay param sollte auf true gesetzt werden. Es funktioniert für mich. Vergessen Sie nicht, TopMargin oder Padding in das Menülayout einzufügen, da das erste Listenelement möglicherweise von ActionBar ausgeblendet wird. Siehe onLayout-Funktion in CustomViewBehind.java.