2016-02-03 2 views
0

Я использую NavigationView из библиотеки android.support.design. Я хочу сделать его меню вертикально центрированным.Android-навигатор: центральное меню по вертикали в NavigationView

Таким образом, вместо alignement по умолчанию ...

enter image description here

... Я хочу, чтобы это выглядело примерно так:

enter image description here

Из того, что я мог видеть там не являются атрибутами макета в NavigationView, которые помогут мне в этом. Я пробовал с android:foregroundGravity="center_vertical", но мне не повезло.

Кто-нибудь знает способ решить эту проблему без изменения NvigationView для другого макета?

ответ

4

Это не похоже, что это возможно без создания настраиваемого навигационного экрана.

Однако, поскольку NavigationView является SubClass of FrameLayout; вы можете добавить в него свои собственные Представления.

Поэтому вы не можете устанавливать пункты меню, но добавлять свой собственный ListView (настройка android:layout_gravity="center_vertical").

Очевидно, что вам нужно было бы реализовать ListAdapter и не использовать OnNavigationItemSelectedListener, который не идеален.

+1

Да, это было мое размышление. Мне бы хотелось найти решение, которое все еще использует NavigationView, поэтому мне не пришлось бы менять много кода. – Bandreid

+0

В итоге я решил использовать решение, основанное на вашем ответе, спасибо. Я отправлю его, когда у меня будет свободное время. – Bandreid

+0

Отлично - рад, что вы получили свое решение. – Robbie188

Смежные вопросы