Мигание анимации в TextView с одновременным изменением текста - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть массив строк и я хочу отображать одну строку за раз с мерцанием анимации (после мигания другой строки в textView).Я сделал анимационную часть с кодом ниже:

On OnCreate:

    TextView subTitle=findViewById(R.id.subTitle);
 Animation anim = new AlphaAnimation(0.0f, 1.0f);
            anim.setDuration(2500); 
            anim.setStartOffset(0);
            anim.setRepeatMode(Animation.REVERSE);
            anim.setRepeatCount(Animation.INFINITE);
            subTitle.startAnimation(anim);

и изменил текст textview следующим образом:

  Handler h = new Handler();
        int delay = 2500;
        Runnable runnable;
    @Override
        protected void onResume() {
            h.postDelayed(runnable = new Runnable() {
                public void run() {
                    selected = subTtls[new Random().nextInt(subTtls.length)];
                    subTitle.setText(selected);
                    h.postDelayed(runnable, delay);
                }
            }, delay);
            super.onResume();
        }

Но текст textViewне меняется одновременно с миганиемЕсть ли способ, которым я могу это сделать?

1 Ответ

0 голосов
/ 03 декабря 2018

Вы можете сделать, как показано ниже ...

anim.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
//if set animation count to once
selected = subTtls[new Random().nextInt(subTtls.length)];
                    subTitle.setText(selected);
anim.start();
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
// Or if set repeat count to infinite
selected = subTtls[new Random().nextInt(subTtls.length)];
                    subTitle.setText(selected);
    }
});

Изменить, как вы хотите ...

...