Android - 沿Y轴旋转对象

时间:2014-03-03 06:52:38

标签: android android-animation

我的应用中有 TextView ,我希望它能够从Y轴的左边缘旋转。

使用此代码,

<rotate 
    android:fromDegrees="90"
    android:toDegrees="0"
    android:pivotX="0%"
    android:pivotY="0%"
    android:duration="2000" />

我可以让它沿着左边缘旋转,但它不会沿着Y轴移动。

但是,当我使用 objectAnimator 时,它会使用 rotationY 属性沿着Y轴移动,但是,我无法设置值 pivotX pivotY ,使其沿中心而不是左边缘旋转。

我如何同时实现这两个目标?

请帮助我!!

提前致谢。

3 个答案:

答案 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);
    }
});
相关问题