码迷,mamicode.com
首页 > 移动开发 > 详细

android学习ScrollView的使用

时间:2015-11-26 22:53:59      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:

  ScrollView 的使用相对来讲比较简单,通过包含更多的布局文件,使得上下滑动可以浏览到更多内容。

  关于ScrollView有几个点需要注意的地方

  1,ScrollView的滚动方式

    ScrollView有两种滚动方式,横向的和纵向的,一般横向的用的比较少。ScrollView控件默认就是纵向滚动的,如果需要横向滚动只需要更改标签

    HorizontalScrollView,即可满足要求

  2,ScrollView默认是在滚动的过程中显示滚动条的,所以如果想隐藏滚动条有两种方式:

    1,通过标签设置:android:scrollbars=“none”

    2, 通过代码设置:setHorizontalScrollBarEenable(false);setVertivalScrollBarEnable(false);

  3,ScrollView的常用方法:

    1,getScrollY()-----返回的是滚动条滑动的距离

    2,getMeasureHeight()------返回的是scrollView的总高度,也就是 滚动的距离+屏幕的宽度

    3,getHeight()-------返回的是显示出来的scroll的高度

  4,ScrollTo 和ScrollBy的区别

    1,ScrollTo :从scroll的开始位置作为参考,进行滚动的距离

    2,ScrollBy:从scroll的当前位置作为参考,进行滚动的距离

public class MainActivity extends Activity implements View.OnClickListener{


    private TextView textView;
    private ScrollView scrollView;
    private Button up;
    private Button down;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView)findViewById(R.id.textView);
        scrollView = (ScrollView)findViewById(R.id.scroll);
        textView.setText(R.string.text);
        up = (Button)findViewById(R.id.button);
        down = (Button)findViewById(R.id.button2);
        scrollView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch(event.getAction()){

                    case MotionEvent.ACTION_MOVE:{
                        if(scrollView.getScaleY()<=0){
                            android.util.Log.i("main","top");
                        }
                        if(scrollView.getMeasuredHeight() == scrollView.getHeight()+scrollView.getScaleY()){

                            android.util.Log.i("main","bottom");
                        }
                        break;
                    }
                }
                return false;
            }
        });
    }
    @Override
    public void onClick(View v) {
        switch(v.getId()){
            case R.id.button:{
                scrollView.scrollBy(0, -30);
                break;
            }
            case R.id.button2:{
                scrollView.scrollBy(0,30);
                break;
            }
        }
    }
}

   ScrollView布局文件如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="top"
            android:id="@+id/button" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="down"
            android:id="@+id/button2" />
    </LinearLayout>
    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none">
        <TextView
            android:id="@+id/textView"
            android:text="@string/hello_world" android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </ScrollView>
</LinearLayout>

 

android学习ScrollView的使用

标签:

原文地址:http://www.cnblogs.com/techdreaming/p/4998962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!