带有随机数生成器Android的Object Animator翻转

时间:2018-08-03 14:32:43

标签: android objectanimator

我正在尝试制作简单的硬币翻转功能,当它的翻转显示随机数时。现在,我的解决方法是使用持续时间中的时间来更新视图,并在命中验证时更新数字,并且当更新文本时它会显示类似计算的某种形式,这是我的代码当前的问题之一。还有其他方法可以实现吗?

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">

0 个答案:

没有答案