2

У меня есть пара вопросов о новом навигационном представлении.Android Support Support Library Навигация по настройке

1) Прокрутка навигационного вида прокручивает весь вид, но я просто хочу, чтобы заголовок оставался на своем месте и элемент навигации для прокрутки.

enter image description here

2) Для реализации разделители B/W элементы навигации, я могу сделать что-то вроде этого:

<item 
android:id="@+id/navigation_subheader" 
android:title="@string/navigation_subheader"> 
<menu> 
    <item 
     android:id="@+id/navigation_sub_item_1" 
     android:icon="@drawable/ic_android" 
     android:title="@string/navigation_sub_item_1"/> 
    <item 
     android:id="@+id/navigation_sub_item_2" 
     android:icon="@drawable/ic_android" 
     android:title="@string/navigation_sub_item_2"/> 
</menu> 
</item> 

Но это не работает без подзаголовка. Я попытался дать ему пустую строку, но это просто оставляет вертикальное пустое пространство вместо подзаголовка. Мне нужны группы элементов навигации, разделенные разделителями, но без подзаголовков.

3) Динамическое манипулирование навигационными элементами. До этого я использовал вертикальное представление списка в качестве элемента навигации. Там, где я просто установил видимость того, какой навигационный элемент мне не нужен. Как я могу динамически изменять элементы навигации?

+0

Создайте свой собственный вид с линейным расположением и списком внизу, который будет прокручиваться. – Harry

+0

Я использовал это. Но так как это не так, мне было интересно, если это возможно в NavigationView –

+0

К сожалению, вы не можете достичь того, чего хотите. Потому что NavigationView не даст большой гибкости. – Moinkhan

ответ

4

1) Прокрутка навигационного вида прокручивает весь вид, но я просто хочу, чтобы заголовок> оставался на своем месте и элемент навигации для прокрутки.

Вы не можете получить это с помощью тока NavigationView. Он следует Руководству по материалам. Если вам нужен такой шаблон, вы должны использовать пользовательский вид.

2) Для реализации делителей/б элементов навигации, я могу сделать что-то вроде этого:

Вы можете использовать стандартный NavigationView образующую меню, как это:

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <group android:id="@+id/group1" android:checkableBehavior="single" id> 
     //items of group1 
    </group> 

    <group android:id="@+id/group2" android:checkableBehavior="single" id> 
     //items of group2 
    </group> 
</menu> 

Это важно дать уникальный идентификатор каждой группе.

3) Манипулирование элементы навигации динамически

Вы можете использовать что-то вроде:

navigationview.getMenu().findItem(R.id.drawer_item_xxx).setVisible(xxx); 
+0

Спасибо! Оно работает. Я пытался с группой, но не думал, что идентификатор будет нужен. Еще раз спасибо :) –

0

1) Прокрутка экрана навигации Scrolls весь вид, но я просто хочу, заголовок> чтобы оставаться на своем месте и элемент навигации для прокрутки.

Поскольку NavigationView представляет собой FrameLayout, мы можем добавить ListView в качестве дочернего элемента и не забудьте удалить атрибут app: menu в NavigationView, тогда вы получите желаемое поведение.

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