1、简介
ScrollView是一个FrameLayout的容器,不过在他的基础上添加了滚动,允许显示的比实际多的内容!另外,只能够往里面放置一个子元素,可以是单一的组件,又或者一个布局包裹着的复杂的层次结构!或者我们应该叫它竖直滚动条,对应的另外一个水平方向上的滚动条:HorizontalScrollView。
android:scrollbarThumbVertical //设置竖直滑块
android:scrollbarThumbHorizontal //设置水平滑块
android:scrollbars //设置滑块显示样式(水平、竖直、不显示)
@Override //重写滑动速度
public void fling(int velocityY) {
super.fling(velocityY / 2); //速度变为原来的一半
}
scrollView.fullScroll(ScrollView.FOCUS_DOWN); //滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_UP); //滚动到顶部
2、简单使用
布局xml文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".LoginActivity">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btn11"
android:text="最底部"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btn22"
android:text="最顶部"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollview"
android:scrollbarThumbVertical="@drawable/rating_on"
android:scrollbars="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"/>
</ScrollView>
</LinearLayout>
Java文件:
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
private ScrollView scrollView;
private TextView textView;
private Button btn_up;
private Button btn_down;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// Set up the login form.
scrollView = (ScrollView)findViewById(R.id.scrollview);
textView = (TextView)findViewById(R.id.textview);
btn_down = (Button)findViewById(R.id.btn11);
btn_up = (Button)findViewById(R.id.btn22);
btn_up.setOnClickListener(this);
btn_down.setOnClickListener(this);
StringBuilder stringBuilder = new StringBuilder();
for (int i=0;i<100;i++){
stringBuilder.append("这是scrollview"+i+"\n");
}
textView.setText(stringBuilder.toString());
}
public void onClick(View v){
switch (v.getId()){
case R.id.btn11:
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
break;
case R.id.btn22:
scrollView.fullScroll(ScrollView.FOCUS_UP);
break;
}
}
}