Изменить анимацию по умолчанию для класса CountDownTimer

#android #animation #countdowntimer

#Android #Анимация #таймер обратного отсчета

Вопрос:

Итак, я искал по всему Интернету последние недели и, к сожалению, не могу найти решение.

Простой вопрос: как изменить CountDownTimer анимацию по умолчанию для класса? я имею в виду анимацию при изменении текста на каждом tick . В настоящее время после каждого изменения текста без анимации вообще.

Есть ли какой-нибудь хороший способ изменить анимацию с «Вверх» на «вниз» при изменении каждого тика в CountDownTimer классе? Вот код на случай, если кто-то перепутает то, о чем я говорю:

 public class CounterClass extends CountDownTimer 
{
        public CounterClass(long millisInFuture, long countDownInterval)
        {

            super(millisInFuture, countDownInterval);
        }

        @Override
        public void onTick(long millisUntilFinished) 
        {
            millis = millisUntilFinished;
            String hms = String.format("d:d",
                    TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
                    TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
            System.out.println(hms);

            CountText.setText(hms);
        }
}
  

может быть, добавить анимацию «вверх» в «вниз» ontick ?
Будем признательны за любую помощь!

Комментарии:

1. отказываться от голосования, ничего не сообщая в разделе комментариев, не очень хорошая идея. это новый вопрос, и есть люди, у которых такая же проблема. ваш понижающий голос им не поможет. Пожалуйста, объясните, как проголосовали против. Спасибо

2. Я не знаю об анимации «вверх-вниз», но я могу показать вам анимацию «вниз-вверх» в textview.

3. с классом CountDownTimer? потому что я хочу, чтобы эта анимация отображалась на каждой секунде тиков в textview. Возможно ли это? Спасибо

4. да, с классом CoutdownTimer.

5. пожалуйста, напишите коды в разделе ответов. Это, безусловно, поможет, спасибо

Ответ №1:

С помощью библиотеки HTextView мы можем добиться приятной анимации от начала до конца.

Сначала добавьте зависимость к вашему проекту

 compile 'hanks.xyz:htextview-library:0.1.5'
  

Добавьте этот макет в соответствии с вашими требованиями.

 <com.hanks.htextview.HTextView
    android:id="@ id/text"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:background="#000000"
    android:gravity="center"
    android:textColor="#FFFFFF"
    android:textSize="30sp" />
  

Добавьте это в свой Java-файл.

 HTextView hTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.temp);

        hTextView = (HTextView) findViewById(R.id.text);
        hTextView.setAnimateType(HTextViewType.EVAPORATE);
}
  

И в последний раз установите для этой строки значение onTick of CounterClass .

 hTextView.animateText(hms);
  

Комментарии:

1. Спасибо, это работает! Есть какая-нибудь библиотека, которую я могу использовать для создания анимации вверх-вниз?

2. Я не знаю об этом, но вы можете проверить CountDownAnimation и Android-FlipDigitView .

3. Спасибо, это было действительно полезно 🙂