2010-06-05 57 views
12

我正在尋找一種方法使Android中的計時器(最好是1.6及更高版本)在計數時顯示第10秒。使用Android Chronometer顯示毫秒

可以做到這一點嗎?如果沒有,是否有一個免費的(最好是開源的)庫可以做到這一點?如果我沒有寫我自己的,但我寧願使用別人的!

回答

5

可以做到這一點嗎?

不是真的。您可以傳遞顯示十分之一秒的格式字符串,但Chronometer本身只會每秒更新一次。更新頻率被烘焙到代碼中。

如果沒有,有一個自由(和 優選開源)庫 做同樣的?

Chronometer source根據Apache許可證2.0提供,所以您可以修改它以適應。查找所有出現的1000,並將它們更改爲100,並且您可能大部分都是在那裏。

請記住,此Chronometer可用於活動,但不能用於應用程序小部件,因爲應用程序小部件框架不支持定製的View類。

0

我已經找到了大量的和大量的研究後的方式。我不知道它是否有效,因爲事實是模擬器在大約10秒鐘後崩潰,但在電話上它運行得很好,而且這對我來說也是如此。它看起來像這樣:

import android.os.Handler; 
public class Chronometer extends Activity { 
    private Handler mHandler = new Handler(); 
public void actions() { 
    mHandler.removeCallbacks(mUpdateTimeTask); 
    mHandler.postDelayed(mUpdateTimeTask, 1); //1 is the number of milliseconds you want the text to be updated 
} 
Runnable mUpdateTimeTask = new Runnable() { 
    public void run() { 
    i++; 
    txt.setText(formatTime(i)); // formatTime is just for make it readable in HH:MM:SS:MS, but I assume you already have this 
    mHandler.postDelayed(this, 1); 
    } 
    }; 
} 
+1

你的代碼中「'i'」是什麼? – 2016-05-09 13:01:10

10

Android的默認計時錶小部件不支持毫秒格式。

我修改了Chronometer窗口小部件源代碼以顯示毫秒。從github下載它。

0

我創建了一個我在Activity內部構建的類的實例。這個新類是Android CountDownTimer類的擴展(添加實施的方法)

在這裏,在構造函數中,您可以將持續時間以毫秒爲單位,間隔爲1/10秒,即100毫秒。在onTick方法中,命令在給定的持續時間內每隔1/100秒執行一次。這應該工作。