ナビゲーション右側にカウンターがあるメニュー項目を表示する質問する

ナビゲーション右側にカウンターがあるメニュー項目を表示する質問する

新しいナビゲーションビュー新しいデザインサポートライブラリ本当に素晴らしいです。

彼らは「メニュー項目「」をクリックしてオプションを表示します。

しかし、どうすればカウンターメニュー項目の?

この写真のように:

ここに画像の説明を入力してください

あるいは、Gメールアプリ。

ベストアンサー1

appcompat-v7 のバージョン 23 以降ではNavigationViewアクション ビューがサポートされているため、カウンターを自分で実装するのは非常に簡単です。

  1. カウンターレイアウトを作成しますmenu_counter.xml

    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
    
  2. ドロワー メニュー xml でこれを参照します。例menu/drawer.xml:

    <item
        ...
        app:actionLayout="@layout/menu_counter" />
    

名前空間を使用する必要があることに注意してください。appを使用しないでくださいandroid

あるいは、メソッドを使用してアクション ビューを手動で設定することもできますMenuItem.setActionView()

  1. メニュー項目を見つけてカウンターを設定します:

    private void setMenuCounter(@IdRes int itemId, int count) {
        TextView view = (TextView) navigationView.getMenu().findItem(itemId).getActionView();
        view.setText(count > 0 ? String.valueOf(count) : null);
    }
    

注意:メニュー項目互換性Android 2.x バージョンをサポートする必要がある場合。

おすすめ記事