我目前正试图在Android Studio上解决一个基于java的问题。在过去的两天里,我在许多论坛和网页上都找不到任何解决方案,这让我很困惑。所以我现在在这里寻求帮助。
我已经编程了一个按钮,当点击它时,文本视图会随着动画从屏幕上滑出。之后,我希望将文本视图的旧文本("第一文本")替换为出现在旧文本所在位置的另一文本("新文本")。所有这些都应该通过一步接一步地点击按钮来实现。
我的代码的问题是,旧文本首先被新文本替换,然后导致动画。
现在有人能解决这个问题吗?
如果有任何帮助,我将不胜感激!
这是我下面的代码。
public class FirstActivity extends AppCompatActivity {
Animation slideleft;
Button btn1;
TextView txt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
btn1 = (Button) findViewById(R.id.btn1);
txt1 = (TextView) findViewById(R.id.txt1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
slideleft = AnimationUtils.loadAnimation(FirstActivity.this, R.anim.slide_left);
txt1.startAnimation(slideleft);
txt1.setText("New Text");
}
});
}
}
您可以使用动画侦听器的onAnimationEnd方法并更改其中的文本。
animation.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationEnd(Animation anim) {
txt1 = (TextView) findViewById(R.id.txt1);
txt1.setText("New Text");
}
});
您可以放置在动画放置代码之后执行的事件
anim.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationStart(Animation arg0) {
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0) {
//your_code
}
});