Android基础控件ScrollView滚动条的使用

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+"
");
        }
        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;
        }
    }
    
}
原文地址:https://www.cnblogs.com/xianfeng-zhang/p/8109204.html