从事南昌APP开发人员都知道,视图都有local layout rect(视图实例化时被赋予的位置及大小尺寸参数值)。知道了视图属性值(local layout rect),就可以改变这些属性值,从而实现四处移动视图。这种做法就叫作属性转换。例如,利用rotation、pivotX和pivotY这三个参数可以旋转视图;利用scaleX和scaleY可以缩放视图;而利用translationX和translationY可以四处移动视图,如图1、图2和图3所示。
图1 视图移动
图2 视图旋转
图3 视图缩放
那么y属性有什么作用呢?实际上,x和y属性是以布局坐标为参考值设立的一种便利开发的属性值。例如,简单写几行代码,就可以把视图置于某个X和Y坐标确定的位置。分析其背后原理可知,这就是通过修改translationX和translationY属性值来实现的。所以,调用mSunView.setY(50)方法就等同于:mSunView.setTranslationY(50 - mSunView.getTop())