ListView во фрагменте не покрывает полный родительский элемент - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть ListView во фрагменте, который не покрывает весь родительский элемент, когда список заполнен не полностью.Проблема заключается в режиме прокрутки ListView, я могу просматривать только в небольшом фрагменте окна, в который изначально загружен ListView. (4 или более записей занимают весь Parent, при меньшем количестве записей возникает проблема) Screenshot

Фрагмент:

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
   >
    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="@null"

        />       </LinearLayout>

Основной XML:

<android.support.design.widget.CoordinatorLayout   
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    />

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="?android:attr/windowBackground"
        app:itemBackground="@color/bgBottomNavigation"
        app:itemIconTint="@android:color/white"
        app:itemTextColor="@android:color/white"
        app:menu="@menu/navigation" />


    </android.support.design.widget.CoordinatorLayout>

ListView заполняется через Volley + JSON с адаптером для ListView.Прокомментируйте, если вам нужен код.

Когда я пытаюсь поместить высоту ListViews в «match_parent», весь экран занят ListView, но он больше не прокручивается.

Что я могу сделать?

РЕДАКТИРОВАТЬ:

Расположение координат - это код координатора кадра с нижней навигацией в нем:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
>

    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />



    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="?android:attr/windowBackground"
        app:itemBackground="@color/bgBottomNavigation"
        app:itemIconTint="@android:color/white"
        app:itemTextColor="@android:color/white"
        app:menu="@menu/navigation" />

  </android.support.design.widget.CoordinatorLayout>

1 Ответ

0 голосов
/ 24 ноября 2018

Вы можете установить атрибут минимальной высоты для вашего listView и настроить то, что вам подходит.Например.чтобы установить его в 20dp, добавьте android:minHeight="20dp" к вашим атрибутам listView.

Лучшим решением было бы обернуть все содержимое CoordinatorLayout в макет, которым вы можете управлять самостоятельно, например ConstraintLayout.В этом случае вы должны выровнять FrameLayout (и фрагменты, которые он обрабатывает) между вашими другими компонентами, и все будет прокручиваться и нажиматься.Макет этого решения будет:

<CoordinatorLayout>
    <ConstraintLayout height="match_parent">
        <BottomNavigation bottomToBottomOf="parent" />

        <FrameLayout height="0dp"
            topToTopOf="parent"
            bottomToTopOf="bottomNavigation" />
    </ConstraintLayout>
</CoordinatorLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...