时间计时android程序,Android 时间计时器控件 Chronometer
當(dāng)你想要顯示時間的推移而不是進(jìn)程的增加的時候,可以使用Chronometer作為一個計時器。當(dāng)需要記錄用戶進(jìn)行某項操作所消耗的時間的時候,或者在游戲中需要限制時間時候,它將非常實用。
這里,Chronometer對象的format屬性可以用來設(shè)置顯示時間周圍的文字。并且只有它的start()在被調(diào)用之后才會顯示時間及附加文字,要停止計時器可以調(diào)用stop()方法。setBase()方法用來設(shè)定設(shè)置計時器的起點(diǎn),當(dāng)將計時器幾點(diǎn)設(shè)置為0的時候,計時器將從手機(jī)上次重啟的時刻開始計時。
方法簡介:
long getBase(); //返回基地的時間,由setBase(long)設(shè)置的,可以是SystemClock.elapsedRealtime()
String getFormat();//返回當(dāng)前字符串格式,此格式是通過setFormat()實現(xiàn)的
void setBase(long base);//設(shè)置時間,計數(shù)定時器指定的值
void setFormat(String format);//設(shè)置顯示的內(nèi)容,計時器將會顯示這個參數(shù)所對應(yīng)的值得,如果字符串的值
為null,那么返回的值為MM:SS格式的
chronometer是一個計時器,我們可以通過其進(jìn)行設(shè)置。主要的方法有
Chronometer類有3個重要的方法:start、stop和setBase,其中start方法表示開始計時;stop表示停止計時;setBase方法表示重新計時。start和stop方法沒有任何參數(shù),setBase方法有參數(shù),表示開始計時的基準(zhǔn)時間。如果要從當(dāng)前時刻重新計時,可以將該參數(shù)值設(shè)為temClock.elapsedRealtime()。
還可以對Chronometer組件做進(jìn)一步設(shè)置。在默認(rèn)情況下,Chronometer組件只輸出MM:SS:MM:SS的時間格式。例如,當(dāng)計時到1分20秒時,Chronometer組件會顯示01:20。如果變顯示的信息內(nèi)容,可以使用Chronometer類的setFormat方法。該方法需要一個String變并使用“%s”表示計時信息。例如,使用setFormat(“計時信息:%s”)設(shè)置顯示信息,Chronometer會顯示計時信息:(計時信息:10:20)。
Chronometer組件還可以通過onChronometerTick事件方法來捕捉計時動作。該方法1秒調(diào)一次。要想使用onChronometerTick事件方法,必須實現(xiàn)接口:android.widget.Chronometer.OnChronometerTickListener
ChronometerDemo.java
public class ChronometerDemo extends Activity {
private Chronometer mChronometer;//創(chuàng)建一個計時器對象
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chronometer);
mChronometer = (Chronometer) findViewById(R.id.chronometer);//將計時器對象實體化
}
/**初始化按鈕Button組件*/
public void initWidget(){
// Watch for button clicks.
button = (Button) findViewById(R.id.start);
button.setOnClickListener(mStartListener);
button = (Button) findViewById(R.id.stop);
button.setOnClickListener(mStopListener);
button = (Button) findViewById(R.id.reset);
button.setOnClickListener(mResetListener);
button = (Button) findViewById(R.id.set_format);
button.setOnClickListener(mSetFormatListener);
button = (Button) findViewById(R.id.clear_format);
button.setOnClickListener(mClearFormatListener);
}
View.OnClickListener mStartListener = new OnClickListener() {
public void onClick(View v) {
mChronometer.start();//計時器開始
}
};
View.OnClickListener mStopListener = new OnClickListener() {
public void onClick(View v) {
mChronometer.stop();//計時器暫停
}
};
View.OnClickListener mResetListener = new OnClickListener() {
public void onClick(View v) {
//計時器重置為0
mChronometer.setBase(SystemClock.elapsedRealtime());
}
};
View.OnClickListener mSetFormatListener = new OnClickListener() {
public void onClick(View v) {
//改變計時器顯示內(nèi)容方式
mChronometer.setFormat("Formatted time (%s)");
}
};
View.OnClickListener mClearFormatListener = new OnClickListener() {
public void onClick(View v) {
//恢復(fù)原來計時器顯示方式
mChronometer.setFormat(null);
}
};
}
chronometer.xml
android:orientation="vertical" android:padding="4dip" android:gravity="center_horizontal"
android:layout_width="fill_parent" android:layout_height="fill_parent">
android:format="@string/chronometer_initial_format"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="0" android:paddingBottom="30dip"
android:paddingTop="30dip" />
android:layout_height="wrap_content" android:text="@string/chronometer_start">
android:layout_height="wrap_content" android:text="@string/chronometer_stop">
android:layout_height="wrap_content" android:text="@string/chronometer_reset">
android:layout_height="wrap_content" android:text="@string/chronometer_set_format">
android:layout_height="wrap_content" android:text="@string/chronometer_clear_format">
string.xml
Hello World, ChronometerDemo!
ChronometerDemo
Start
Stop
Reset
Set format string
Clear format string
Initial format: %s
總結(jié)
以上是生活随笔為你收集整理的时间计时android程序,Android 时间计时器控件 Chronometer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 武藏平民
- 下一篇: android theme materi