本文主要是介绍View旋转中心点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
改变View旋转中心点
在对Android的View对象使用setRotation方法时,View默认的锚点是其中心位置
属性动画怎么绕原点旋转?
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, “rotation”, new float[]{0,180});
这个默认是绕中心点的
在Animator中需要通过View.setPivotX和View.setPivotY方法手动给View设置中心点。
imageView.setPivotX(10);
imageView.setPivotY(10);
//是指以ImageView为坐标系(10,10)位置
此处引用鸿洋大神的代码,具体可以参考下:
http://blog.csdn.net/lmj623565791/article/details/51339751
public void pageTransform(View view, float position)
{if (position < -1){ // [-Infinity,-1)// This page is way off-screen to the left. view.setRotation(mMaxRotate * -1);view.setPivotX(view.getWidth());view.setPivotY(view.getHeight());} else if (position <= 1){ // [-1,1] if (position < 0)//[0,-1]{view.setPivotX(view.getWidth() * (0.5f + 0.5f * (-position)));view.setPivotY(view.getHeight());view.setRotation(mMaxRotate * position);} else//[1,0]{view.setPivotX(view.getWidth() * 0.5f * (1 - position));view.setPivotY(view.getHeight());view.setRotation(mMaxRotate * position);}} else{ // (1,+Infinity] // This page is way off-screen to the right. view.setRotation(mMaxRotate);view.setPivotX(view.getWidth() * 0);view.setPivotY(view.getHeight());}
}
第一页开始时滑动时,旋转中心上图原点,即(width/2 , height).
第一页滑动结束时,旋转中心在左边页面的右下角,即(width,height).
这篇关于View旋转中心点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!