Android 安卓动画

Android 安卓动画,android,xml,Android,Xml,我想创建一个启动屏幕,所以我使用动画。现在我想要动画从左到中滚动(将%更改为垂直居中或水平居中)。 对不起!我英语说得不好。 代码xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fr

我想创建一个启动屏幕,所以我使用动画。现在我想要动画从左到中滚动(将%更改为垂直居中或水平居中)。 对不起!我英语说得不好。

代码xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate android:fromXDelta="-220%" android:toXDelta="70%"<!--I want change 70% -> center_vertical-->
             android:fromYDelta="0%" android:toYDelta="0%"
             android:duration="1200"/>
</set>

android:fromYDelta=“0%”android:toYDelta=“0%”
android:duration=“1200”/>

如果您尝试使用android:toXDelta=“0%”,它将使动画在默认情况下放置在布局上的
视图处停止。例如,如果
视图
在布局中具有
android:layout\u centerHorizontal=“true”
属性,动画将在屏幕中央停止

public void desaparecer(final LinearLayout parent, View hijo, int espaciofinal) {

    parent.removeView(hijo);

    final LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)parent.getChildAt(0).getLayoutParams();

    ValueAnimator animator = ValueAnimator.ofInt(params.height, espaciofinal);

    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator)
        {
            params.height= (Integer) valueAnimator.getAnimatedValue();
            parent.getChildAt(0).requestLayout();
        }
    });
    animator.setDuration(300);
    animator.start();

}
这是我的代码和工作。。。嗯,有点糟糕

我正在寻找不超过0pd的方法,因为它的想法是开始尊重原始高度


但是如果你喜欢,你可以用它

你是什么意思?是否希望动画将视图水平和垂直放置在父视图的中心?此处。。。我有两个文本:文本一个从左到中滚动,文本二个从右到中滚动。我想要动画android:toXDelta=“70%”,如果可以将70%更改为中心垂直。因为当我在真实设备上测试emulatorOk上文本的不同位置时,我理解了。你试过android:toXDelta=“0%”吗?它使动画在视图放置在布局上的正确位置停止。例如,如果视图有android:layout_centerHorizontal=“true”,动画将停止在屏幕中央。:)Oke@joao2fast4u您可以将注释更改为答案,我投票给您:D。非常感谢!不客气。我已经加了。谢谢。请在代码中的什么地方写下您遇到的问题,以及您希望在-/输出中得到什么?!