9

ActionBarSherlockを使用してNavigationDrawerを使い始め、良い結果が得られましたが、私の会社がこのオープン ソースを承認するのはすぐには実現しそうにないので、ActionBarCompat に切り替えようとしています。

ActionBarCompatは、昨日 (2013 年 7 月 24 日) 正式にリリースされたばかりです。両方がうまく機能するようになった人はいますか? 自分の質問に答えられることを願っていますが、誰かがこれを機能させているかどうかを確認してください。レースが始まった!:-)

YouTube on ActionBarCompat のリリース: https://www.youtube.com/watch?v=6TGgYqfJnyc


更新 (作業コード、はい!): ActionBarCompat を使用するように変換された Google のサンプル NavigationDrawer アプリを入手しましたが、正常に動作しています。ここで参照するか、プロジェクトを開始できます: https://github.com/bcrider/NavigationDrawerActionBarCompat

2.x バージョンは、ActionBarSherlock で行った方法よりも優れているように見えますが、ActionBarCompat でさらに多くの作業を行って、気に入るかどうかを確認する必要があります。


4

4 に答える 4

13

注: 投稿などに複数のリンクを追加するには新しすぎるため、編集する代わりに自分の質問に答えています (ルールに違反していないことを願っていますか?)。許可され次第、オリジナルを編集します。

ActionBarCompat を使用してナビゲーション ドロワーを追加する簡単な方法: 既存のアプリの変換は、思ったほど悪くないことがわかりました。Google のサンプルを見て、Fragments は必要だと思いましたが、そうではありませんでした。

既存のレイアウトを DrawerLayout でラップし、実際のナビゲーション用に ListView (または ListView を含む任意のレイアウト) をプラグインするだけです。次に、通常のコードを既存のアクティビティに追加し (ActionBarActivity を拡張)、必要に応じてナビゲーションを構築します。

既存のレイアウトをラップするサンプル コードを次に示します。

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

[YOUR EXISTING LAYOUT GOES HERE]

    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

</android.support.v4.widget.DrawerLayout>

フラグメントを使用するサンプル アプリから始めてそこから移動する場合は、サンプル コードに基づく私の github リポジトリを次に示します: https://github.com/bcrider/NavigationDrawerActionBarCompat

于 2013-07-31T14:47:11.803 に答える
0

提供された例は良いものですが、すべての元のコード (現在はライブラリのサポートを目指しています) と書式設定が含まれているため、元の Google Navigation Drawer の例に少し近い別の例を作成しました。一部の属性のみ、v11 以降でしか使用できないため、同様の属性に置き換える必要がありました。

ダウンロード: https://github.com/GunnarBs/NavigationDrawerWithActionBarCompat

注: これには、v7 appcompat ライブラリが存在する必要があります。詳細については、http://developer.android.com/tools/support-library/setup.html を参照てください。

于 2014-01-02T16:01:54.670 に答える