我的应用中有 TextView ,我希望它能够从Y轴的左边缘旋转。
使用此代码,
<rotate
android:fromDegrees="90"
android:toDegrees="0"
android:pivotX="0%"
android:pivotY="0%"
android:duration="2000" />
我可以让它沿着左边缘旋转,但它不会沿着Y轴移动。
但是,当我使用 objectAnimator 时,它会使用 rotationY 属性沿着Y轴移动,但是,我无法设置值 pivotX 和 pivotY ,使其沿中心而不是左边缘旋转。
我如何同时实现这两个目标?
请帮助我!!
提前致谢。
答案 0 :(得分:2)
从android检查这个card flip animation。 基本上你定义4个动画并用
设置动画顺序 getFragmentManager()
.beginTransaction()
.setCustomAnimations(
R.animator.card_flip_right_in, R.animator.card_flip_right_out,
R.animator.card_flip_left_in, R.animator.card_flip_left_out)
.replace(R.id.container, new CardBackFragment())
.addToBackStack(null)
.commit();
您可能希望更改角度和“valueFrom”,“valueTo”属性以满足您的需求。
答案 1 :(得分:0)
要从左边缘旋转视图,请尝试使用以下视图属性。
android:transformPivotX = "0dp"
这将从左边缘漫游您的视图。
答案 2 :(得分:0)
您可以使用set Notation()方法围绕y轴旋转。
ValueAnimator lockAnimator = ValueAnimator.ofFloat(0, 1); // value from 0 to 1
lockAnimator.setDuration(ANIMATION_DURATION);
lockAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator pAnimation) {
float value = (Float) (pAnimation.getAnimatedValue());
textView.setRotationY(180 * value);
}
});