11

アクションバーのシャーロックを使用して新しい引き出しを実装しましたが、アクションバーは同じ状態のままです。

オープン/クローズ コールバックを処理するために、ActionBarDrawerToggle インターフェイスを実装しました。

    actionBarDrawerToggle = new ActionBarDrawerToggle(this, menu, R.drawable.ic_launcher,
            R.string.app_name, R.string.app_name) {
        @Override
        public void onDrawerOpened(View drawerView) { 
            super.onDrawerOpened(drawerView);
            drawerOpened = true;
            sliderButton.setBackgroundResource(R.drawable.tab_bar_menu_icon_push);
        }

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
            drawerOpened = false;
            sliderButton.setBackgroundResource(R.drawable.tab_menu);
        }
    };
    menu.setDrawerListener(actionBarDrawerToggle);

ドロワー メニューと一緒にアクションバーも移動するように設定するにはどうすればよいですか?

4

2 に答える 2

16

質問は私にとって少し混乱しているように思えますが、正しいリンクと少しの歴史があれば、それは非常に簡単な答えだと思います。ここで提供しようとします:

公式のデザイン ガイドラインでわかるように>>>LINK<<< : ドロワーはメイン コンテンツをカバーし、ActionBar とコンテンツの両方が固定され、まったく動かないようになっています。画面上を移動する唯一の要素は、実際の引き出しです。

しかし、このパターンは 1 か月前の Google I/O 2013 でリリースされたばかりです。それ以前は、各 Google アプリは開発者がその瞬間にやりたいことを何でも実行していました。そして、Google I/O が通過した今、それらはすべて公式のガイドラインに適合するように実行されています (Gmail や G+ などのほとんどは既に更新されています)。

公式のガイドラインに従わず、ドロワーが開いているときにアプリ全体 (ActionBar とコンテンツの両方) を画面外に移動させたい場合は、優れた SlidingMenu ライブラリを使用するのが最も簡単な方法です>>>LINK< << . そして、例を読んで Web を検索すれば、それを実装する方法がきっと見つかるはずです。

公式のガイドラインに従いたいが、ActionBarSherlock も使用したい場合 (これは私が現在のプロジェクトで行っていることです)、ActionBarSherlock と互換性のある ActionBarDrawerToggle を公式プロジェクトのこの GIT プル リクエストで見つけることができます>>>LINK <<<しかし、このプル リクエストは受け入れられなかったので、そこからコードをコピーしてプロジェクトに配置するか、元の ActionBarSherlock からこのフォークを使用することができます>>>LINK<<<男がすでに実装し、すでに私が提案した修正を適用しました。

これがあなたの質問に答えることを願っています。

于 2013-06-19T21:38:55.617 に答える