其他構造器的旋轉也可參考這副圖。
RotateAnimation旋轉坐標系為以旋轉點為坐標系(0,0)點。x軸為0度,順時針方向旋轉一定的角度。
1.RotateAnimation(fromDegrees, toDegrees) [默認以View左上角頂點為旋轉點]。
X軸順時針轉動到fromDegrees為旋轉的起始點,
X軸順時針轉動到toDegrees為旋轉的起始點。
如fromDegrees=0,toDegrees=90;為左上角頂點為旋轉點。0度為起始點,90度為終點。進行旋轉,旋轉了90度
如fromDegrees=60,toDegrees=90;為左上角頂點為旋轉點。60度為起始點,90度為終點。進行旋轉,旋轉了90-60=30度
2.RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY)
(pivotX,pivotY)為旋轉點。pivotX為距離左側的偏移量,pivotY為距離頂部的偏移量。即為相對於View左上角(0,0)的坐標點。
如View width=100px,height=100px
RotateAnimation(0,10,100,100);則以右下角頂點為旋轉點,從原始位置順時針旋轉10度
RotateAnimation(0,90,50,50);則以View的中心點為旋轉點,旋轉90度
3.RotateAnimation(fromDegrees, toDegrees, pivotXType, pivotXValue, pivotYType, pivotYValue)
pivotXType, pivotXValue, pivotYType, pivotYValue 旋轉點類型及其值。
Animation.ABSOLUTE為絕對值 其他為百分比。這個和平移動畫的一樣,不了解可以去那看
如RotateAnimation(0, 90, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 按中心點旋轉90度
效果和2例中的RotateAnimation(0,90,50,50);則以View的中心點為旋轉點,旋轉90度 。效果一樣