如果您真的想使用滚动视图(而不是 ListView),这就是您的布局。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="up"
android:text="UP" />
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- ADD YOUR COMPONENTS HERE -->
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="down"
android:text="DOWN" />
</LinearLayout>
这就是如何管理活动中的“向上”和“向下”事件。添加这些方法:
public void up(View v) {
ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView1);
scrollView.scrollBy(0, +20);
}
public void down(View v) {
ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView1);
scrollView.scrollBy(0, -20);
}
在这个例子中,我只是滚动了 20 个像素。调整这些值以获得您想要的(例如在滚动视图的中间滚动,或滚动可见滚动视图高度的一半)。