2016-10-22 48 views
0

所以我一直在搜索整个互联网过去几周,不幸的是我找不到解决方案。更改CountDownTimer类默认动画

一个简单的问题:如何更改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("%02d:%02d", 
        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也许加起来下来动画? 任何帮助,将不胜感激!

+0

放弃投票而不告诉任何在评论部分是不是一个好主意。它的新问题和那里有人有同样的问题。你的downvote不会帮助他们。请解释投票。谢谢 –

+0

我不知道直到动画下来,但我可以告诉你在textview上的动画。使用CountdownTimer类的 –

+0

?因此,我希望textview中每一秒钟都有这些动画。可能吗?感谢 –

回答

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); 
} 

而最后一组此行的CounterClassonTick

hTextView.animateText(hms); 
+0

感谢它的工作!有什么图书馆可以用来制作向下动画? –

+0

我不知道它,但你可以检查[CountDownAnimation](https://github.com/IvanRF/CountDownAnimation)和[Android的FlipDigitView](https://github.com/Vinayrraj/Android-FlipDigitView)。 –

+0

谢谢你真的很有帮助:) –