Как изменить размер значка элемента меню в 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). Я бы хотел сделать это больше! Это возможно?
Вот скриншот:
![введите описание изображения здесь]()
EDIT: Хорошо, мы оба знаем, что Google "блокирует" размер значка. Но я хочу знать, что я могу "обойти" этот замок и сделать что-то... настраиваемым?
Ответы
Ответ 1
Вы можете изменить размер значка navigationView, переопределив атрибут design_navigation_icon_size
. Вы можете поместить его в размер и, поскольку вы переопределяете частный атрибут, вам нужно включить tools:override="true"
<dimen name="design_navigation_icon_size" tools:override="true">40dp</dimen>
Ответ 2
Получено решение
Сделайте ниже вход в dimens.
<dimen name="design_navigation_icon_size">48dp</dimen>
Ответ 3
Главное, что определяет размер значка - это размер: 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);
}
поэтому мы можем просто переопределить свойство в нашем файле размеров.
Например:
<dimen name="navigation_icon_size">48dp</dimen>
добавьте этот код в файл dimens, и вы можете найти его измененный размер.
До:
![введите описание изображения здесь]()
После того, как:
![введите описание изображения здесь]()
Ответ 4
В соответствии с проектом документа, установленным самим Google, значки должны быть установлены на 14sp
. Я предлагаю вам соблюдать эту рекомендацию, поскольку этот стандарт используется во всех приложениях. Как вы сказали, в навигационном блоке нет приложений с большими значками, так как это не является нормой при разработке значка навигационного блока.
![enter image description here]()