java - 为什么在两个项目中从左到右对 ImageView 进行动画处理时,我收到不同的结果?

标签 java android android-animation

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

我为第一个项目插入代码

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>

最佳答案

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

关于java - 为什么在两个项目中从左到右对 ImageView 进行动画处理时,我收到不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56704335/

相关文章:

android - 通知和应用程序历史记录冲突中的 PendingIntent

java - Android View 淡入淡出并发问题

java - 如何在java中从包含灰度整数的文件文本中显示图像?

java - 如何在静态参数化方法中调用 Intent 并启动新 Activity

android - 为什么我的 Eclipse 工作区是空的?

android - EditText 在动画后卡住并在滚动时恢复正常......?

android - 通过 ValueAnimator 与 ViewPropertyAnimator translationX 对边距进行动画处理

android - 是否有适用于 Android 的 ImageView 转换库?

java - SseEmitter Spring MVC 返回传输已关闭,剩余未完成的读取数据

java - InetAddress getLocalHost() 未从 C :\WINDOWS\system32\drivers\etc\hosts 返回预期的 IP 地址