5

私はこの問題を抱えています:私はアクションバーのナビゲーションドロワーで作業していますが、これらのボタンのようなボタンをメニューバーに追加したい: http://screenshots.en.sftcdn.net/blog/en/ 2013/06/お知らせ-b.png

これは私のxmlファイルです:

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

<FrameLayout
     android:id="@+id/content_frame"
     android:layout_width="match_parent"
     android:layout_height="match_parent" />
     <!-- The navigation drawer -->
<ListView
     android:id="@+id/left_drawer"
     android:layout_width="240dp"
     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>

だから、私はボタンを追加することは次のようなものであることを知っています:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <!-- Search, should appear as action button -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          yourapp:showAsAction="ifRoom"  />
</menu>

しかし、私はまだ両方のパーツを合わせる方法がわかりません.誰か助けてもらえますか?

4

2 に答える 2

2

あなたのActivity_Main、またはあなたの主な活動が何であれ、あなたは呼び出します:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.YOUR_MENU, menu);
    super.onCreateOptionsMenu(menu,inflater);
}

YOUR_MENU は、必要なオプション メニュー/アクションバーです。

別のボタンを追加するか、frame_layout/drawer レイアウト内の特定のフラグメントに従ってボタンを個別化する場合は、フラグメントで、これを onCreateView に追加します。

setHasOptionsMenu(true);

これは、オプション メニューを変更しようとしていることをアクティビティに伝えます。

それで:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.YOUR_NEW_MENU, menu);
    super.onCreateOptionsMenu(menu,inflater);
}

YOUR_NEW_MENU のアイテムは、オプション メニュー/アクションバーに追加されます。

于 2013-11-14T00:17:59.860 に答える
1

このメニュー項目をアクティビティにマップしましたか? そうでない場合onCreateOptionsMenuは、アクティビティをオーバーライドしてそこで膨らませる必要があります。

このチュートリアルはメニューで読むことができます。

于 2013-11-14T00:08:26.463 に答える