Дизайн библиотеки поддержки Android-навигация-вид настройки



У меня есть пара вопросов о новом навигационном представлении.



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



Введите описание изображения здесь



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



<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) динамическое управление навигационными элементами. До этого я использовал вертикальное представление списка в качестве элемента навигации. Там, где я только что установил видимость пропавшего навигационного элемента, который мне не нужен. Как я могу динамически изменять элементы навигации?

606   2  

2 ответов:

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);

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

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

Comments

    Ничего не найдено.