首页 > 解决方案 > Kotlin / Android - 动画开始时图像失去排列(有时!)

问题描述

我正在构建我的第一个 kotlin 应用程序,并且我已经构建了一个简单的纸牌游戏。我制作了一些卡片元素来设计游戏卡(如卡片图片、卡片背面、卡片文字……)。为了让它更像一个游戏,我制作了一个名为“karteAnim”(卡片动画)的函数,它将动画分配给卡片的不同元素。大多数时候它工作正常。但有时卡片中元素的排列会失去它们的位置,并且在动画过程中图像会彼此重叠,而不是彼此相邻。这种情况有时会发生(例如在 10% 的情况下)。我无法弄清楚它发生时的模式,对我来说似乎是随机的。

为不同元素调用动画的函数:

    fun karteAnim(tmp: Animation) {
        if (!cancel) {
            println("Start Anim")
            kartenRuecken.startAnimation(tmp)
            kartenbild.startAnimation(tmp)
            kartensnippet_bl2.startAnimation(tmp)
            kartensnippet_ur2.startAnimation(tmp)
            baumart.startAnimation(tmp)
            gesamtwert.startAnimation(tmp)
            blattart_text.startAnimation(tmp)
            kartennr.startAnimation(tmp)
            baumname_text.startAnimation(tmp)
            baumgattung_text.startAnimation(tmp)
            beschreibungView.startAnimation(tmp)
            stat1.startAnimation(tmp)
            stat2.startAnimation(tmp)
            stat3.startAnimation(tmp)
            stat4.startAnimation(tmp)
        }
    }

Example of an animation:

 <?xml version="1.0" encoding="utf-8"?> <set
 xmlns:android="http://schemas.android.com/apk/res/android">
     <translate
         android:duration="1000"
         android:fromYDelta="0"
         android:toYDelta="2000" /> </set>

任何想法?

标签: androiddebuggingkotlinanimationimageview

解决方案


由于打开了对话窗口,安排丢失了。使用 Handler-Delay 或 Toas-Message 的解决方法为我做到了。


推荐阅读