当前位置: 首页 > 知识库问答 >
问题:

无法重复Android动画

蒋高扬
2023-03-14

我一直试图重复一个特定的动画,但动画只运行一次,不会重复本身。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale android:fromXScale="0"
        android:toXScale="1"
        android:fromYScale="0"
        android:toYScale="1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatMode="restart"
        android:repeatCount="infinite"/>
    <alpha android:fromAlpha="1"
        android:toAlpha="0" />
</set>
public class MainActivity extends AppCompatActivity {

    private View view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        view = findViewById(R.id.view);

        Animation animation = AnimationUtils.loadAnimation(this, R.anim.animation);
        animation.setDuration(6000);
        animation.setRepeatMode(Animation.RESTART);
        animation.setRepeatCount(Animation.INFINITE);
        view.startAnimation(animation);
    }
}

共有1个答案

卫和洽
2023-03-14

我设法让它起作用了。

animation.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="6000">
    <scale
        android:fromXScale="0"
        android:fromYScale="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="infinite"
        android:repeatMode="restart"
        android:toXScale="1"
        android:toYScale="1" />
    <alpha
        android:fromAlpha="1"
        android:repeatCount="infinite"
        android:repeatMode="restart"
        android:toAlpha="0" />
</set>

在科特林处理

    var tex = findViewById<TextView>(R.id.view);
    tex.animation = AnimationUtils.loadAnimation(this,R.anim.animation)
    tex.animation?.start()

问题是,你将不得不在两个动画中重复,你重复的是scale应用程序,而不是alpha动画。

 类似资料:
  • 我有三个视图具有相同的翻译动画。使用0-2的随机数,三个视图中的一个是动画。我很难重复动画和每个动画的延迟(应该在2000ms左右)。 move.xml

  • 问题内容: 这个问题已经在这里有了答案 : While循环中的ReactorNotRestartable错误出现刮擦 (7个答案) 去年关闭。 与: 我一直成功地运行了此过程: 但由于我已将此代码移入一个函数中,因此: 并开始使用类实例化调用该方法,例如: 并运行: 我收到以下错误: 怎么了? 问题答案: 您不能重新启动反应堆,但是应该可以通过分叉一个单独的过程来使其运行更多次: 运行两次: 结果

  • 当我在app gradle中添加或更新依赖项时,R类将不会在我的活动类中找到。

  • 我从这里的Android Developer站点下载了IDE,在安装向导之后,IDE甚至连开始菜单都没有启动

  • 经过大量研究,我最终决定在这里发布以下问题。对于大学项目,我想通过SharedReferences保存我的应用程序设置。然而,无论我做什么,它都不起作用。 对于一个简单的测试,我尝试在我的主要活动的oncreate方法中编写一些testdata,如下所示: 当我在调试模式下检查prefs对象时,它会向我显示应该创建文件的路径:/data/user/0//共享优先/测试。xml 然而,当我在手机上导

  • 我已经执行了clean project,rebuild project,分析和检查代码,但它没有解决Android Studio中的“无法解决符号R”错误。 我该怎么解决这个?请帮帮我.