ejemplo bottom bar android android-studio material-design navigationview

bottom - navigationview android



¿Cómo cambiar el tamaño del icono del elemento de menú en NavigationView? (4)

De acuerdo con el documento de diseño establecido por Google , los iconos deben configurarse en 14sp . Le sugiero que cumpla con esta recomendación, ya que es un estándar utilizado en todas las aplicaciones. Como usted dijo, no hay aplicaciones que tengan íconos grandes en el cajón de navegación, ya que esta no es la norma al desarrollar un ícono de cajón de navegación.

Tengo el siguiente elemento de menú:

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

... aún hay más pero es muy largo

Pero el icono es realmente pequeño (incluso tiene una resolución de 256x256). ¡Me gustaría hacerlo más grande! ¿Es eso posible? Aquí está la captura de pantalla:

EDITAR: OK, ambos sabemos que Google "bloquea" el tamaño del icono. Pero quiero saber que puedo "pasar por alto" ese bloqueo y hacer algo ... ¿personalizable?


Lo principal que decide el tamaño del icono es la dimensión: navigation_icon_size , eche un vistazo a la clase NavigationMenuItemView :

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

Por lo tanto, solo podemos sobrescribir la propiedad en nuestro archivo dimens.

Por ejemplo:

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

agregue ese código en el archivo dimens, y podrá encontrar el tamaño cambiado.

Antes de:

Después:


Puede cambiar el tamaño del icono de navegaciónVer al reemplazar el atributo design_navigation_icon_size . Puede ponerlo en dimensionales y como está anulando un atributo privado, debe incluir tools:override="true"

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


Tengo solución

Haga por debajo la entrada en dimens.

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