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; } } }