Android,自定义ScrollView、Scroller的基本使用

ScrollView的常用方法

(大多重写自View,HorizontalScrollView也一样)

public final int getScrollX()
返回值表示当前滚动到内容的哪个位置

public void scrollTo(int x, int y)
滚动到内容的x或y位置,一步到位,没有滚动动画,滚动动画需要利用Scroller定义

public void scrollBy(int x, int y)
往内容的正或负方向滚动x或y距离

fling过程中屏蔽了scrollTo()和scrollBy()
如果scrollTo()或scrollBy()超出内容的边界,则止于边界(默认)。

public final void smoothScrollTo(int x, int y)
平滑滚动到内容的x或y位置
当直接调用smoothScrollTo()没有效果时,试试这种方法:
View#post(new Runnable() {
    @Override
    public void run() {
        smoothScrollTo(x, y);
    }
});

Scroller的常用方法

public void startScroll(int startX, int startY, int dx, int dy, int duration)
开始一个动画控制,由(startX , startY)在duration时间内前进(dx,dy)个单位,即到达偏移坐标为(startX+dx , startY+dy)处

public boolean computeScrollOffset()
滑动过程中,根据当前已经消逝的时间计算当前偏移的坐标点,保存在mCurrX和mCurrY值中

public final int getCurrX()
返回mCurrX

自定义ScrollView

import android.content.Context;
import android.os.Looper;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.HorizontalScrollV
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值