J'ai l'élément de menu suivant:
<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>
... il y a encore plus mais c'est vraiment long
mais l'icône est vraiment petite (même si elle a la résolution 256x256). Je voudrais le rendre plus grand! Est-ce possible? Voici la capture d'écran:
EDIT: OK, nous savons tous les deux que Google "verrouille" la taille de l'icône. Mais je veux savoir que je peux "contourner" ce verrou et rendre quelque chose ... personnalisable?
Vous pouvez modifier la taille de l'icône de navigationView en remplaçant design_navigation_icon_size
attribut. Vous pouvez le mettre en creux et comme vous surchargez un attribut privé, vous devez inclure tools:override="true"
<dimen name="design_navigation_icon_size" tools:override="true">40dp</dimen>
solution obtenue
Faire ci-dessous l'entrée dans dimens.
<dimen name="design_navigation_icon_size">48dp</dimen>
La principale chose qui décide de la taille de l'icône est la dimension: navigation_icon_size
, regardez la classe NavigationMenuItemView
:
public NavigationMenuItemView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.mIconSize = context.getResources().getDimensionPixelSize(dimen.navigation_icon_size);
}
donc, nous pouvons simplement dépasser la propriété dans notre fichier dimens.
Par exemple:
<dimen name="navigation_icon_size">48dp</dimen>
ajoutez ce code dans le fichier dimens et vous pourrez constater que sa taille a changé.
Avant:
Après:
Selon le document de conception défini par Google lui-même, les icônes doivent être définies sur 14sp
. Je vous suggère de respecter cette recommandation, car il s'agit d'une norme utilisée dans toutes les applications. Comme vous l'avez dit, aucune application ne comporte de grandes icônes dans le tiroir de navigation, car ce n'est pas la norme lors du développement d'une icône de tiroir de navigation.