![](/img/trans.png)
[英]How to increase the value by one each time i click switching the activity back and forth in Android Studio
[英]ValueAnimator in Android and how to make it increase by one each second
我正在使用這個android應用程序...並且我有一個textview,在這里我想數一數。 在此文本視圖中,我聲明“此頁面X秒鍾前已刷新”。 我希望每20秒從0重新開始其計數。
我已經實現了一個使用ValueAnimator類的函數。 但是,我不確定如何使ValueAnimator每秒鍾將整數值增加1。 我希望它像鍾表的秒針一樣計數1 ... 2..3 ... 4..5 ...... 20。 現在,它的計數速度非常快...我想放慢它waaayyyy。 每秒計數1次。
請我怎么做? 我已經看過一些對ValueAnimator的方法調用,但是我不確定如何降低它的速度……現在它是如此之快。
另外,我可以在每次計數器達到20秒時在哪里添加方法調用? 可以說我想在它重新開始之前在達到20時調用refreshView()。
感謝您的時間,也感謝您的幫助。
ValueAnimator類: https : //developer.android.com/reference/android/animation/ValueAnimator
用我的方法,我有:
ValueAnimator valueAnimator = ValueAnimator.ofInt(initialValue, finalValue);
valueAnimator.setDuration(10000);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
textview.setText("This page was refreshed " + valueAnimator.getAnimatedValue().toString() + " seconds ago");
}
});
valueAnimator.start();
// Repeat 100 times
valueAnimator.setRepeatCount(100);
ValueAniamtor用於動畫。 動畫刷新速度非常快。 我不認為您可以使用valueAnimator數秒。
在我的一個應用程序中,我使用計時器定期刷新textView。
final TextView textview=findViewById(R.id.tv);
new Timer().scheduleAtFixedRate(new TimerTask() {
int value=0; //start at 0
@Override
public void run() {
value++ ;
runOnUiThread(new Runnable() { //only the main thread can touch his views
@Override
public void run() {
textview.setText("This page was refreshed " + value + " seconds ago"); //refresh text
}
});
}
}, 0, 1000); //reschedule every 1000 milliseconds
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.