防止在ListView中过度滚动

时间:2014-03-04 01:25:25

标签: android android-listview

跑冰淇淋三明治。

我的布局中有以下内容:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/caption" />

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:overScrollMode="never"
        android:id="@+id/itemized_list" />

</LinearLayout>

接下来,我使用ArrayAdapter和列表项的以下布局填充此列表:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="wrap_content" android:layout_height="wrap_content">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/bulletpoint" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/itemized_list_item_text" />
</LinearLayout>

渲染很好 - 列表视图及其项目将呈现以适合屏幕。但是,当我调用listView.scrollBy时,我能够滚动浏览内容结束的位置并基本上进入“外部空间”而没有任何限制。我该如何防止这种情况?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我的解决方案是使用listView.smoothScrollBy(distance, 0)。它可能有更高的开销,但它可以完成工作。