gpt4 book ai didi

java - 我可以在前一个的 onanimationEnd 回调中启动一个 Android 动画吗?

转载 作者:行者123 更新时间:2023-11-29 09:23:31 26 4
gpt4 key购买 nike

我试图通过监视第一个动画的 onanimationEnd 回调来在另一个动画完成后启动一个动画。但是,当我尝试执行此操作时,Android 会出现以下错误:

错误 - AnimationUtils 类型中的方法 loadAnimation(Context, int) 不适用于参数 (new Animation.AnimationListener() {}, 整数)

我尝试使用这篇文章中的答案:--- Android Animation one after other我将其解释为我应该将除开始动画之外的所有内容移出回调,但是当我这样做时,出现以下错误:

错误 - 无法在不同方法中定义的内部类中引用非最终变量 fade3

我在这里错过了什么???


******第一个例子的代码************


package com.smartproducts.dragracepro;

import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
import android.widget.ImageView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;


public class DragRaceProSplashActivity extends DragRaceProActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);

//animate title fade in
TextView programtitle = (TextView) findViewById(R.id.TextViewTopTitle);
Animation fade1 = AnimationUtils.loadAnimation(this,R.anim.fade_in);
programtitle.startAnimation(fade1);

//show introduction and logo for Smart Shocks
fade1.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation fade1)
{
***************  
ERROR IS HERE> Animation fade3 = AnimationUtils.loadAnimation(this,R.anim.fade_in2); ***************
ImageView sslogo = (ImageView) findViewById(R.id.ImageView03);
sslogo.setVisibility(View.VISIBLE);
sslogo.startAnimation(fade3);
}

@Override
public void onAnimationRepeat(Animation animation) {}

@Override
public void onAnimationStart(Animation animation) {}
});

}

最佳答案

Animation fade3 = AnimationUtils.loadAnimation(this,R.anim.fade_in2);

this 指的是动画而不是你的上下文,因为你在监听器中调用它,如果你想使用这段代码,那么你需要创建一个上下文的全局变量并使用它变量代替 this

关于java - 我可以在前一个的 onanimationEnd 回调中启动一个 Android 动画吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4601718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com