How to change the size of menu item icon in NavigationView?

房东的猫 提交于 2019-12-02 18:46:01

You can change the size of navigationView icon by overriding design_navigation_icon_size attribute. You can put it in dimens and because you're overriding a private attribute, you need to include tools:override="true"

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

Got Solution

Make Below entry in dimens.

<dimen name="design_navigation_icon_size">48dp</dimen>
Zuo VJ

The main thing that decide the icon's size is the dimension:navigation_icon_size, have a look at the NavigationMenuItemView class:

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

so, we can just overide the property in our dimens file.

For example:

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

add that code in the dimens file, and you can find it's size changed.

Before:

After:

According to the the design document set by Google itself, icons should be set to 14sp. I suggest you abide by this recommendation, since this is a standard used throughout all apps. As you said, there are no apps which have large icons in the navigation drawer, as this is not the norm when developing a navigation drawer icon.

In your xml file the shortest way is there is a property in NavigationView Just add it .

app:itemIconSize="12dp"

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!