5

私は ActionBarSherlock ライブラリと Black Ops 2 ガイド アプリケーションのスライド メニュー ライブラリを使用しており、スライド メニューの同じアクティビティに美しい「オーバーレイ」機能を挿入しようとしました。結果は次のとおりです。

  • オーバーレイが機能しない
  • アクションバーカット

これはコードです:

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

そして、3 番目のパラメーターを true に変更します。つまり、actionbarOverlay パラメータをtrueに設定する必要があります。わたしにはできる。最初のリスト項目が ActionBar によって非表示になる可能性があるため、Menu レイアウトに topMargin またはパディングを追加することを忘れないでください。CustomViewBehind.java の onLayout 関数を参照してください。

于 2014-11-21T12:43:07.627 に答える