#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. Спасибо, это было действительно полезно 🙂