1

我目前正在用 android 编写应用程序,但动画有问题。为简单起见,我在水平线性布局中有三个“对象”(末端有 2 个按钮,中心有一个垂直线性布局,我想制作动画)。问题是当我尝试将它向左移动时,它会越过按钮(我想要它在后面)。当我尝试将它向右移动时,它会通过按钮后面(如我所愿)。

在这个主题中,我认为也是同样的问题,但没有答案:(其他视图后面的Android动画

我已经尝试setZAdjustment(Animation.ZORDER_BOTTOM)过我的动画,但它并没有改变任何东西。

任何想法 ?

我的 Java 代码很简单:

layout_main= (LinearLayout)this.findViewById(R.id.main_layout);
moveNext= AnimationUtils.loadAnimation(this, R.anim.move_next_seq);
moveNext.setZAdjustment(Animation.ZORDER_BOTTOM);
layout_main.startAnimation(moveNext);

我的 xml :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<ImageButton
    android:id="@+id/button_previous"
    android:layout_width="@dimen/next_previous_button_width"
    android:layout_height="fill_parent"
    android:background="@drawable/button_classic"
    android:contentDescription="@string/button_previous_description"
    android:src="@android:drawable/ic_media_previous" />

<LinearLayout
    android:id="@+id/main_layout"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center_horizontal"
    android:orientation="vertical" >
</LinearLayout>

<ImageButton
    android:id="@+id/button_next"
    android:layout_width="@dimen/next_previous_button_width"
    android:layout_height="match_parent"
    android:background="@drawable/button_classic"
    android:contentDescription="@string/button_next_description"
    android:src="@android:drawable/ic_media_next" />

和我的动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:interpolator="@android:anim/linear_interpolator" >

<set>
    <translate
        android:duration="300"
        android:fromXDelta="0%"
        android:startOffset="300"
        android:toXDelta="-100%" />
    <translate
        android:duration="1"
        android:fromXDelta="-100%"
        android:startOffset="600"
        android:toXDelta="100%" />
    <translate
        android:duration="400"
        android:fromXDelta="100%"
        android:startOffset="601"
        android:toXDelta="0%" />
</set>

4

0 回答 0