如何在两个动画之间延迟

时间:2018-10-19 13:49:29

标签: java android android-animation

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity
{
    public void fade(View view)
    {
        ImageView link=findViewById(R.id.link);
        link.animate().scaleX(1f).scaleY(1f).setDuration(2000);
        link.animate().rotation(180f).setDuration(2000);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView link=findViewById(R.id.link);
        link.setScaleX(.2f);
        link.setScaleY(.2f);
    }
}

我一直在尝试扩展图像,然后旋转它,但是图像似乎同时旋转和扩展。关于如何在两个动画之间进行延迟的任何建议。

1 个答案:

答案 0 :(得分:0)

您可以使用以下两种方法来实现此目的:

  • 使用AnimatorSet。这是协调动画的特殊班级设计师。缺点是它不能与@Cacheable(value = USER_ENTITY_1_CACHE) public List<MyEntity1> findEntities1(Long userId) { //... } And: @Cacheable(value = USER_ENTITY_2_CACHE) public Set<MyEntity2> findEntities2(Long userId) { //.. } 一起使用,因此您必须手动为视图设置动画。
  • 运行第一个视图动画时使用facades。在runnable参数中,只需启动第二个动画即可。
  • 运行第一个动画时使用ValuePropertyAnimator。覆盖withEndAction(Runnable)并开始第二个动画。