我有ListView
个超过1,000个项目和一个滚动条。在不使用滚动条的情况下滚动时,滚动条不会平滑滚动。相反,它最初会朝着你期望的方向前进,然后向后跳跃。在滚动时,它会向后跳几次,而不是平滑地滚动列表。在ListView
的XML布局中,我已指定android:smoothScrollbar="false"
作为解决此问题的尝试。 documentation。但是,问题仍然存在。我的所有物品都有相同的高度。如何让滚动条顺畅滚动?
这是我的XML
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fastScrollEnabled="true"/>
<TextView
android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/no_songs_found"
android:textColor="@color/asbestos"
android:textSize="24sp"
android:gravity="center"/>
</FrameLayout>
答案 0 :(得分:0)
这是我很久以前做过的一个例子,你做过像这样的xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fadingEdge="horizontal"
android:fillViewport="true"
android:scrollbars="horizontal" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/whitesmoke"
android:orientation="vertical"
android:textColor="@color/Black" >
<TextView
android:id="@+id/path"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/Black" />
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="408dp"
android:textColor="@color/Black" />
<TextView
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="No Data" />
<!--
<ImageView
android:id="@+id/Thumbnail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/icon" />
-->
</LinearLayout>
</ScrollView>
答案 1 :(得分:0)
只是想一想,如果你在真实设备上进行测试,请确保它没有插入你的开发机器。我注意到触摸屏上的干扰之前听起来与你的问题相似。
答案 2 :(得分:0)
我正在为我的适配器使用arraylist。使用cursoradaptor,列表滚动要好得多。我猜arraylists无法处理那么多数据。