ScrollView -- 实现滚动效果

ScrollView – 实现滚动效果

  1. 布局文件:
    纵向滚动条:

    <ScrollView
    ...基本属性...
    scrollbars = "none" //隐藏滚动条
    >
    ...需要添加滚动条的内容...
    </ScrollView>

    水平滚动条:

    <horizontalScrollView >
    ... 内容 ...
    </horizontalScrollView>
  2. 代码设置滚动条属性
    setHorizontalScrollBarEnable(false);
    setVerticalScrollBarEnable(false);
  3. 监听ScrollView何时滑到底部
    setOnTouchListener();
...Activity(){
private ScrollView scroll;
scroll = findVieById(R.id...);
scroll.setOnTouchListener(new OnTouchListener(){
    public boolean onTouch(View v, MotionEvent event){
        switch(event.getAction())
        {
        case MotionEvent.ACTION_UP: //当手指抬起时

            break;
        case MotionEvent.ACTION_DOWN: //当手指落下时
            break;
        case MotionEvent.ACTION_MOVE: //当手指滑动时
        {
            /*
            * (1) getScrollY() ---- 滚动条滑动的距离
            * (2) getMeasureHeight()
            * (3) getHeight()
            * (4) "2""3"的区别:当所给的内容可以在一个屏幕内安全显示时,二者相等;当无法完全显示时,
            *     "2" > "3","2"会把已显示的内容高度完全计算在内 
            */
            if(scroll.getScrollY <= 0) //顶部状态
            {
                ...内容...
            }
            //底部状态
            //TextView的总高度 <= 一屏幕的高度 + 滚动条滚动的距离
            if(scroll.getChildAt(0).getMeasureHeight() <= 
               scroll.getHeight() + scroll.getScrollY())
            {
                ...内容...  
                tv.append(内容); //TextView中追加内容  
            }
            break;
        } 
        }
    }
});
}
  1. 控制ScrollView视图位置——ScrollTo和ScrollBy
    ScrollTo : 针对滚动条的初始位置移动的距离
    ScrollBy : 相对当前位置滚动相应的距离
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值