我正在尝试在textView上制作动画并更改onAnimationEnd上的内容,但它会更改跳转一个文本并进行下一个文本。我不知道你是否理解得很好,我的英语不太好。 这是我的代码:
final Integer[][] listeQuestions = new Integer [][]{
{R.string.c1}, {R.string.c2}, {R.string.c3}, {R.string.c4}, {R.string.c5}, {R.string.mot1}, {R.string.c6}, {R.string.c7}, {R.string.c8}, {R.string.c9}, {R.string.c10}, {R.string.mot2},
{R.string.c11}, {R.string.c12}, {R.string.c13}, {R.string.c14}, {R.string.c15}, {R.string.mot3}, {R.string.c16}, {R.string.c17}, {R.string.c18}, {R.string.c19}, {R.string.c20}, {R.string.mot4},
{R.string.c21}, {R.string.c22}, {R.string.c23}, {R.string.c24}, {R.string.c25}, {R.string.mot5}, {R.string.c26}, {R.string.c27}, {R.string.c28}, {R.string.c29}, {R.string.c30}, {R.string.mot6},
{R.string.c31}, {R.string.c32}, {R.string.c33}, {R.string.c34}, {R.string.c35}, {R.string.mot7}
};
boutonResultat.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
resultatTexte.setVisibility(View.VISIBLE);
resultatTexte.setText(listeQuestions[0][0]);
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.laps_temps);
resultatTexte.startAnimation(animation);
animation.setAnimationListener(new Animation.AnimationListener() {
Integer curseur=0;
@Override public void onAnimationStart(Animation animation) {}
@Override public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
if(curseur<42) {
curseur++;
resultatTexte.setText(listeQuestions[curseur][0]);
animation.setAnimationListener(this);
resultatTexte.startAnimation(animation);
}
}
});
我的动画很简单,它只是一个从0.2到1.0开始的持续时间,持续时间是3000。
我尝试了很多可能性(更改动画持续时间,在onAnimationStart中放置一些元素,放置一个新代码以尝试阻止double,我在onAnimationEnd中留下setAnimationListener ...)但总是出现同样的问题:R。 string.c1看起来很棒而且动画是正确的,当它完成时,R.string.c2可能出现0.1秒并且直接出现在R.string.c3并且动画正常工作,并且R.string.c4出现0.1秒和R. string.c5效果很好,最后也是这样。
也许有人已经遇到了同样的问题,可以帮我解决。 谢谢你,对不起我的英语:)