标签:
1.View的位置由左上角点、右下角点来确定的。分别对应(左上的X—getLeft,左上的Y—getTop,右下的X—getRight,右下的Y—getBottom)。
2.View的偏移量(translation):表示左上角相对于父容器的偏移量(当前位置与移动后的位置之差叫做偏移量),默认为0。(进过测试只能通过setTranslation改变Translation,补间动画animation.xml无效)通过getTransaltion获取X,Y
3.View的getX(),getY()(都是左上角的点):X = left + translationX;就是左上角的X坐标加上X的偏移量,Y = top + translationY;(就是左上角Y的坐标,加上Y的偏移量)
4.View的getScaleX(),getScaleY():View的内容的左上角的坐标。
解释:
1.VelocityTrancker
作用:速度追踪,用于追踪手指在滑动过程中的速度(包括水平和竖直方向速度)
使用:①、将event事件添加至Velocity对象中 ②、设置时间:指一段时间划过的像素数 ③、获取X,Y方向滑过的像素数(从左向右为正,从上向下为正)
实例:
public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private VelocityTracker mVelocityTracker = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取Velocity mVelocityTracker = VelocityTracker.obtain(); } @Override public boolean onTouchEvent(MotionEvent event) { //将事件对象由该对象掌管 mVelocityTracker.addMovement(event); switch (event.getAction()){ case MotionEvent.ACTION_MOVE: //设置时间间隔:速度指的是一段时间内手指划过的像素数 mVelocityTracker.computeCurrentVelocity(1000); //打印速度 Log.d(TAG,"1秒内滑动X像素数"+mVelocityTracker.getXVelocity()+" Y像素数"+mVelocityTracker.getYVelocity()); break; default: break; } return super.onTouchEvent(event); } }
注意:当调用getXVelocity()方法的时候,就会返回平均速度。(假设我设置1喵,就是说不是等一秒过后才会,返回getXVelocioty(),而是当你调用getXVelocity()利用数学计算出每秒的速度)。
标签:
原文地址:http://www.cnblogs.com/rookiechen/p/5387980.html