android 为什么我的列表视图不滚动?

h5qlskok  于 2022-11-20  发布在  Android
关注(0)|答案(7)|浏览(191)
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#dad4c8"
    android:gravity="center_horizontal">
    <include
        android:id="@+id/title_bar"
        layout="@layout/title_bar" />
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/title_bar"
        android:id="@+id/txt"
        android:hint="Song title" />

    <ListView
        android:cacheColorHint="#00000000"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/txt"
        android:id="@+id/list" />

</RelativeLayout>
slwdgvem

slwdgvem1#

使用LinearLayout并将ListView的Height设置为0dip,然后将其设置为layout_weight="1"
这将使它自动填充任何剩余的空间,导致列表视图的内部项目滚动。当前列表视图非常高,正在被屏幕的边界裁剪。

编辑

大概是这样的:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#dad4c8"
    android:orientation="vertical"
    android:gravity="center_horizontal">
    <include
        android:id="@+id/title_bar"
        layout="@layout/title_bar" />
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txt"
        android:hint="Song title" />

    <ListView
        android:cacheColorHint="#00000000"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:id="@+id/list" />

</LinearLayout>
1zmg4dgp

1zmg4dgp2#

为了社区的利益,我将粘贴哪些对我不起作用,哪些起作用。这是唯一一个帮助解决问题的帖子,其他的只是一个讲座。感谢@Kurru
我已经试着减少废话。要关注的领域是android:layout_heightandroid:layout_weight

不起作用

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"/>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content />
    </LinearLayout>

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbarSize="3dp"
        android:scrollbarStyle="outsideOverlay"
        android:scrollbars="vertical"
        android:scrollingCache="true"
        android:smoothScrollbar="true" />
</LinearLayout>

已工作

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:scrollbarSize="3dp"
        android:scrollbarStyle="outsideOverlay"
        android:scrollbars="vertical"
        android:scrollingCache="true"
        android:smoothScrollbar="true" />
</LinearLayout>
4jb9z9bj

4jb9z9bj3#

那些仍在寻找答案的人请访问this link,您只需要在子滚动视图中执行此操作,方法是将android:nestedScrollingEnabled=“true”添加到其XML声明中,或者显式调用setNestedScrollingEnabled(true)。

ukxgm1gy

ukxgm1gy4#

我认为列表视图默认可以滚动,使用三个手指滑动虚拟设备。我对我的列表视图什么都不做,它可以滚动。我在设计模式下拖动列表视图。

<ListView
        android:id="@+id/lv_retrieve_firebase"
        android:layout_width="match_parent"
        android:layout_height="287dp"
        android:layout_marginStart="1dp"
        android:layout_marginTop="1dp"
        android:layout_marginEnd="1dp"
        app:layout_constraintBottom_toTopOf="@+id/tw_login_email"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/btn_submit_to_firebase" />
xiozqbni

xiozqbni5#

我面临的问题是我在“ConstraintLayout”中添加了一个“ListView”。为此,我的ListView既不能正常显示,也不能正常滚动。
我通过用ListView Package LinearLayout找到了解决方案。
以前我使用的是:

然后解决方案是:

taor4pac

taor4pac6#

对我而言:nestedScrollingEnabled = true

qcuzuvrc

qcuzuvrc7#

您应该在ListView上添加值为vertical的属性android:scrollbars,以便在ListView中添加滚动条:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#dad4c8"
    android:gravity="center_horizontal">
    <include
        android:id="@+id/title_bar"
        layout="@layout/title_bar" />
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/title_bar"
        android:id="@+id/txt"
        android:hint="Song title" />

    <ListView
        android:cacheColorHint="#00000000"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/txt"
        android:id="@+id/list" 
        android:scrollbars="vertical"/>

</RelativeLayout>

相关问题