2016-10-22 54 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

謝謝你真的很有幫助:) –