我的 tableLayout 填充了很多行(在 xml 中)。我把它包装在一个 ScrollView 中,它滚动得很好。不过,我试图让 fastScrolling 功能正常工作(右侧的 slider ),并对 tableLayout 和scrollView 说 android:fastScrollEnabled="true"
没有任何作用。有谁知道如何解决这个问题吗?
这是布局代码的简化版本
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frameLayout"
android:layout_width="match_parent" android:layout_height="wrap_content">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" android:id="@+id/tableLayoutParent">
<TableLayout android:id="@+id/tableLayout" android:fastScrollEnabled="true" android:layout_width="fill_parent" android:layout_height="fill_parent">
<TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
<Button
android:text="◦"
android:id="@+id/spaceColumn"
android:background="@drawable/top_button"
android:clickable="true"
android:onClick="showSlider"
android:gravity="center"
android:padding="2dip"
android:textSize="15px"
android:layout_height="wrap_content"
android:layout_width="15dip"/>
<ToggleButton
android:textOn="Title ▼"
android:textOff="Title"
android:id="@+id/titleColumn"
android:background="@drawable/top_button"
android:clickable="true"
android:onClick="sortSong"
android:gravity="center"
android:padding="2dip"
android:textSize="15px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="0dip"/>
<ToggleButton
android:textOn="Artist ▼"
android:textOff="Artist"
android:id="@+id/artistColumn"
android:background="@drawable/top_button"
android:clickable="true"
android:onClick="sortArtist"
android:gravity="center"
android:padding="2dip"
android:textSize="15px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="0dip"/>
<ToggleButton
android:textOn="Time ▼"
android:textOff="Time"
android:id="@+id/timeColumn"
android:background="@drawable/top_button"
android:clickable="true"
android:onClick="sortTime"
android:gravity="center"
android:padding="2dip"
android:textSize="15px"
android:layout_height="wrap_content"
android:layout_width="45dip"/>
<ToggleButton
android:textOn="Album ▼"
android:textOff="Album"
android:id="@+id/albumColumn"
android:background="@drawable/top_button"
android:clickable="true"
android:onClick="sortAlbum"
android:gravity="center"
android:padding="2dip"
android:textSize="15px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="0dip"/>
</TableRow>
</TableLayout>
</ScrollView>
</FrameLayout>
然后从 SQLite 数据库读取歌曲数据并将其填充到表布局中
最佳答案
据我所知,ScrollView 不支持开箱即用的快速滚动,您正在寻找的是 ListView。
编辑:当然,除非您自己实现。
关于java - 如何在Android中的tablelayout上进行快速滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8721263/