View的滑动与弹性滑动(ScrollBy+Scroller)

这次做一个SwitchView1,与上文的效果是一样的,但是
1.跟随手滑动使用scrollBy,
2. 松手后的弹性滑动使用scroller
需要使用下面的几个知识点:

知识点

  1. 系统很多控件都是使用了scrollBy+scorller来实现滑动效果的,例如ViewPager就是如此

    如果你想控制ViewPager翻页的速度,可以通过反射给ViewPager设置一个自定义的Scroller,在这个自定义的Scroller里设置你想要的翻页时长(做轮播图你会用到的,Banner这是我做的一个轮播图的demo,封装的不太好)

  2. scrollBy(dx,dy)增量滑动,

  3. scrollTo(x,y)直接滑动到指定坐标处

  4. 在本例中,一个LinearLayout里有一个ImageView滑块,当你想让ImageView滑块向左侧移动时,必须想两件事,

    1. 谁来调用scrollBy方法
    2. dx,dy的正负

    结论是:每次调用scrollBy,让该子控件的父容器去调用scrollBy方法,然后方向取反即可

  5. scorller的使用也是固定的

第一步:初始化Scroller
mScroller = new Scroller(getContext());

第二步:调用scrollBy去让一个控件滑动
((View) mImageView.getParent()).scrollBy(-deltaX, 0);// ★这是一个普适的公式,谁要滑动,就找谁的父亲去调用scrollBy,然后方向取反

第三步:重写computeScroll方法,下面的写法也是固定的

   @Override
    public void computeScroll() {
        super.computeScroll();

        if (mScroller.computeSc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值