为什么在两个项目中从左到右为ImageView设置动画时,我收到不同的结果?

时间:2019-06-21 13:22:07

标签: java android android-animation

我插入了两个正在运行的项目的视频。我的最终目标是实现像第一个正在运行的项目那样的结果。我希望图像从左进入屏幕并向右移动,最后填充屏幕并停止。 在第一个示例项目中,通过在Stack Overflow上收到朋友的指导,我终于实现了期望的结果。 但是,当我将代码复制到第二个项目(我的主项目)时,收到了不同的结果,并且图像停在了屏幕中央。 为什么?

我为第一个项目插入代码

https://youtu.be/UlKiAb4H9Dg

在代码末尾添加了第二个项目的完整布局

imageView.post(new Runnable() {
        @Override
        public void run() {
            startImageAnimation();
        }
    });

private void startImageAnimation() {
    ObjectAnimator animation = ObjectAnimator.ofFloat(imageView, 
"translationX", -(imageView.getWidth()), 0);
    animation.setDuration(3000);
    animation.start();
}

<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/grass"
android:id="@+id/image_anim"
/>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">


<ImageView
    android:layout_width="156dp"
    android:layout_height="153dp"
    android:layout_gravity="center"
    android:src="@drawable/awz" />

<TextView
    android:id="@+id/text_logo_up"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="شرکت توسعه نیشکر و صنایع جانبی"
    android:textSize="20sp" />

<TextView
    android:id="@+id/text_logo_down"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="سامانه داده کاربر بیمه"
    android:textSize="20sp" />

<ImageView
    android:layout_width="156dp"
    android:layout_height="153dp"
    android:layout_gravity="center"
    android:src="@drawable/bahrevar" />

<ImageView
    android:id="@+id/image_anim_grass"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/grass"

    />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

在第二个项目的布局中,ImageView可能有android:layout_width="wrap_content"而不是android:layout_width="match_parent"