view移动相关属性讲解

scrollTo   scrollBy   是对view内部的内容进行移动  view本身不会移动  该方法不仅可以运用于viewGroup还可以运用于view

                             view的bg不会变化  只会引起view的content变化  

下面三个将会将view整体移动  bg移动                         

TranstationX  TranstationY

LayoutParamas

Scroller


1:layoutparams   getLeft   getX

     layoutparams和其他两个参数没有关系。

     改变位置可以通过 setTransationX  setLeft  setLayoutParams实现

     getLeft和getX两者有关系

     getX=getLeft+getTranstationX

     left的变化会引起getX的变化   但是transtationX变化不会引起getLeft的变化

     LayoutParams的变化不会引起其他两个值的变化



Scroller方法详解:

使用scroller基本步骤

1:创建scroller对象

     scroller = new Scroller(context,new LinearInterpolator());

2:调用scroller初始化参数方法  并调用invalidate()

   

scroller.startScroll(getScrollX(), getScrollY(), distance, 0, 5000);
  
invalidate();  //在draw里面  系统会调用computeScroll方法
3:重写view的 computeScroll()方法

    //调用scroller的computeScrollOffset方法  其中执行一系列计算  计算滚动距离 就是下面取得值 是否结束滚动

if(scroller.computeScrollOffset()){
//          scroller算得到的CurrentX  CurrentY 行移            scrollTo(scroller.getCurrX(),scroller.getCurrY());
//        在此执行刷新ui的方法
          invalidate();
        }


很重要的一句话   没有真正意义的匀速平滑滚动  本质上都是分割许多个小段   每个小段移动

在视觉上给我们感觉是平滑滚动  就是利用人眼分辨极限  一秒30张图片播放






 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值