web-dev-qa-db-ja.com

NavigationViewのメニュー項目アイコンのサイズを変更するにはどうすればよいですか?

次のメニュー項目があります。

<item
        Android:id="@+id/lock"
        Android:checkable="true"
        Android:title="@string/lock" >
    <menu >

        <item
            Android:id="@+id/block_mess"
            Android:checked="true"
            Android:icon="@drawable/chantinnhan"
            Android:title="@string/block_mess_string" />

        <item
            Android:id="@+id/block_call"
            Android:checked="false"
            Android:icon="@drawable/chancuocgoi"
            Android:title="@string/block_call_string" />

        <item
            Android:id="@+id/lock_app"
            Android:checked="false"
            Android:icon="@drawable/khoaungdung"
            Android:title="@string/lock_app_string" />


    </menu>
    </item>

...まだまだありますが、本当に長いです

しかし、アイコンは本当に小さいです(解像度256x256であっても)。もっと大きくしたい!それは可能ですか?スクリーンショットは次のとおりです。

enter image description here

編集:OK、私たちは両方ともGoogleがアイコンサイズを「ロック」することを知っています。しかし、私はそのロックを「バイパス」して何かをカスタマイズできることを知りたい...

40
Chris Maverick

design_navigation_icon_size属性をオーバーライドすることにより、navigationViewアイコンのサイズを変更できます。あなたはそれを次元に置くことができ、プライベート属性をオーバーライドしているので、tools:override="true"を含める必要があります

<dimen name="design_navigation_icon_size" tools:override="true">40dp</dimen>
90
Amad Yus

Got Solution

以下のエントリをディメンで作成します。

<dimen name="design_navigation_icon_size">48dp</dimen>
21
Abhishek

アイコンのサイズを決定する主なものは、dimension:navigation_icon_sizeです。NavigationMenuItemViewクラスを見てください:

 public NavigationMenuItemView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    this.mIconSize = context.getResources().getDimensionPixelSize(dimen.navigation_icon_size);
}

そのため、dimensファイルのプロパティをオーバーライドするだけです。

例えば:

<dimen name="navigation_icon_size">48dp</dimen>

dimensファイルにそのコードを追加すると、サイズが変更されていることがわかります。

前:

enter image description here

後:

enter image description here

9
Zuo VJ

Google 自体によって設定された設計ドキュメントによると、アイコンは14spに設定する必要があります。これはすべてのアプリで使用される標準であるため、この推奨事項に従うことをお勧めします。あなたが言ったように、ナビゲーションドロワーに大きなアイコンがあるアプリはありません。これはナビゲーションドロワーアイコンを開発する際の標準ではないためです。

enter image description here

5