Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中,如何在其他图像视图之后设置图像视图动画_Android_Animation_Android Animation_Translate Animation - Fatal编程技术网

在Android中,如何在其他图像视图之后设置图像视图动画

在Android中,如何在其他图像视图之后设置图像视图动画,android,animation,android-animation,translate-animation,Android,Animation,Android Animation,Translate Animation,我有两张图片(加号和倍增号)显示在下面。当点击“加号”图片时,“multiply”图像正在从“plus”图像的同一位置开始平移动画,并转到附加的最后一张图像中显示的屏幕末端。我的问题是,“multiply”图像在附加的第二张图像中显示的“plus”图像前面动画。我希望在“plus”图像后面而不是前面动画 图像布局的我的xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://s

我有两张图片(加号和倍增号)显示在下面。当点击“加号”图片时,“multiply”图像正在从“plus”图像的同一位置开始平移动画,并转到附加的最后一张图像中显示的屏幕末端。我的问题是,“multiply”图像在附加的第二张图像中显示的“plus”图像前面动画。我希望在“plus”图像后面而不是前面动画

图像布局的我的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent">


<LinearLayout
    android:id="@+id/parent"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_marginTop="100dp"
    android:clipChildren="false"
    android:clipToPadding="false">

    <ImageView
        android:id="@+id/plus"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:clipChildren="true"
        android:clipToPadding="true"
        android:scaleType="centerInside"
        android:src="@drawable/plus" />


    <ImageView
        android:id="@+id/multiply"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:clickable="true"
        android:scaleType="centerInside" />

</LinearLayout>
</LinearLayout> 


只需使用
相对布局
并稍微更改一下。。。像这样

<RelativeLayout
    android:id="@+id/parent"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_marginTop="100dp"
    android:clipChildren="false"
    android:clipToPadding="false">

    <ImageView
        android:id="@+id/multiply"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:clickable="true"
        android:src="@android:drawable/btn_star_big_on"
        android:scaleType="centerInside" />

    <ImageView
        android:id="@+id/plus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:clipChildren="true"
        android:clipToPadding="true"
        android:scaleType="centerInside"
        android:src="@android:drawable/btn_star_big_off" />

</RelativeLayout>

  • 更改xml布局顺序:

    • 对于RelativeLayout,将首先绘制用xml编写的第一个视图
    • 所以你需要先写multiply-imageview,然后再加上imageview
  • 如果要动态更改z顺序,可以使用view.bringToFront()API

    • 见:

    • 或者Android 5.0(API 21)中的view.setZ(float)


  • 非常感谢,用相对布局代替线性布局解决了我的问题。非常感谢,用相对布局代替线性布局解决了我的问题。