2 qq 22202859 qq_22202859 于 2016.09.20 15:16 提问

ImageView 旋转动画问题 5C

RotateAn = new RotateAnimation(0f,360f,Animation.RELATIVE_TO_SELF,
0.5f,Animation.RELATIVE_TO_SELF,0.5f);
RotateAn.setInterpolator(new LinearInterpolator());
RotateAn.setRepeatCount(-1);
RotateAn.setFillAfter(true);
RotateAn.setDuration(4000);
shake_img.startAnimation(RotateAn);

            开启动画后怎么不是以view的中心点自转 而是公转

5个回答

shen_wei
shen_wei   Ds   Rxr 2016.09.20 15:28
qq_22202859
qq_22202859 问题是我就是怎么写的啊???这个资料我早看过了。
大约一年之前 回复
shen_wei
shen_wei   Ds   Rxr 2016.09.20 15:28

详细的,你还是自己看看吧。。。

waterhexuan
waterhexuan   2016.09.20 16:03

在Animator中需要通过View.setPivotX和View.setPivotY方法手动给View设置中心点。
imageView.setPivotX(10);
imageView.setPivotY(10);
//是指以ImageView为坐标系(10,10)位置

qq_22202859
qq_22202859 shake_img.setPivotX(shake_img.getWidth()/2); shake_img.setPivotY(shake_img.getHeight()/2); 我图片是正方形 我这样试过了但是没用。谢谢
大约一年之前 回复
u011249920
u011249920   2016.09.20 17:45

我是在xml里设置的,可以阿
<?xml version="1.0" encoding="utf-8"?>

<rotate
    android:duration="1000"
    android:fromDegrees="0"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="+360" />

qq_22202859
qq_22202859 原因找到了 因为设置过View.setVisibility(View.GONE)然后再设置View.setVisibility(View.VISIBLE) 就就变成公转了 我把View隐藏设置成setVisibility(View.INVISIBLE)就不会公转。可能是设置GONE后把View的大小改变了。感谢你的回答。
大约一年之前 回复
qq_22202859
qq_22202859   2016.09.20 18:17

原因找到了 因为设置过View.setVisibility(View.GONE)然后再设置View.setVisibility(View.VISIBLE) 就就变成公转了 我把View隐藏设置成setVisibility(View.INVISIBLE)就不会公转。可能是设置GONE后把View的大小改变了 求哪位大神告知具体原因,谢谢

Csdn user default icon
上传中...
上传图片
插入图片