Подтвердить что ты не робот

Как изменить размер значка элемента меню в 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 "блокирует" размер значка. Но я хочу знать, что я могу "обойти" этот замок и сделать что-то... настраиваемым?

4b9b3361

Ответ 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