我正在尝试制作简单的硬币翻转功能,当它的翻转显示随机数时。现在,我的解决方法是使用持续时间中的时间来更新视图,并在命中验证时更新数字,并且当更新文本时它会显示类似计算的某种形式,这是我的代码当前的问题之一。还有其他方法可以实现吗?
public class FlipActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flip_coin);
TextView tvRandomNumber = findViewById(R.id.my_img);
Button btnPlay = findViewById(R.id.btn_play);
ObjectAnimator anim = (ObjectAnimator) AnimatorInflater.loadAnimator(this, R.animator.flipping);
anim.setTarget(tvRandomNumber);
anim.setDuration(2000);
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
anim.start();
}
});
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
if (animation.getCurrentPlayTime() / 1000 == 1){
tvRandomNumber.setText(String.valueOf(new Random().nextInt(7) * 5)); //this here show like some sort calculation
} else if (animation.getCurrentPlayTime() / 1000 == 2){
tvRandomNumber.setText(String.valueOf(new Random().nextInt(7) * 5)); //this here show like some sort calculation
}
}
});
}}
flipping.xml
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:valueFrom="1080"
android:valueTo="0"
android:propertyName="rotationY">