您的位置:首页 > 其它

view移动相关属性讲解

2018-02-27 14:03 225 查看
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张图片播放

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: