我正在为启动器设置动画。如何解决该问题,而不是使用ontouch监听器停止计时器,而是使用3秒之类的时间?这是我的代码:

private void showdiag() {
    loader = findViewById(R.id.loader);
    logo= loader.findViewById(R.id.logo);
    logo.setAnimation(AnimationUtils.loadAnimation(this,R.anim.rotate));
    loader.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            loader.setVisibility(View.GONE);
        }
    });




}

最佳答案

您可以使用View.postDelayed()在设置的延迟后执行一些操作:

private void showdiag() {
    loader = findViewById(R.id.loader);
    logo = loader.findViewById(R.id.logo);
    logo.setAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate));

    loader.postDelayed(new Runnable() {
        @Override
        public void run() {
            loader.setVisibility(View.GONE);
        }
    }, 3000);
}

10-07 19:35
查看更多