时间计时android程序,Android 时间计时器控件 Chronometer
當(dāng)你想要顯示時(shí)間的推移而不是進(jìn)程的增加的時(shí)候,可以使用Chronometer作為一個(gè)計(jì)時(shí)器。當(dāng)需要記錄用戶進(jìn)行某項(xiàng)操作所消耗的時(shí)間的時(shí)候,或者在游戲中需要限制時(shí)間時(shí)候,它將非常實(shí)用。
這里,Chronometer對象的format屬性可以用來設(shè)置顯示時(shí)間周圍的文字。并且只有它的start()在被調(diào)用之后才會(huì)顯示時(shí)間及附加文字,要停止計(jì)時(shí)器可以調(diào)用stop()方法。setBase()方法用來設(shè)定設(shè)置計(jì)時(shí)器的起點(diǎn),當(dāng)將計(jì)時(shí)器幾點(diǎn)設(shè)置為0的時(shí)候,計(jì)時(shí)器將從手機(jī)上次重啟的時(shí)刻開始計(jì)時(shí)。
方法簡介:
long getBase(); //返回基地的時(shí)間,由setBase(long)設(shè)置的,可以是SystemClock.elapsedRealtime()
String getFormat();//返回當(dāng)前字符串格式,此格式是通過setFormat()實(shí)現(xiàn)的
void setBase(long base);//設(shè)置時(shí)間,計(jì)數(shù)定時(shí)器指定的值
void setFormat(String format);//設(shè)置顯示的內(nèi)容,計(jì)時(shí)器將會(huì)顯示這個(gè)參數(shù)所對應(yīng)的值得,如果字符串的值
為null,那么返回的值為MM:SS格式的
chronometer是一個(gè)計(jì)時(shí)器,我們可以通過其進(jìn)行設(shè)置。主要的方法有
Chronometer類有3個(gè)重要的方法:start、stop和setBase,其中start方法表示開始計(jì)時(shí);stop表示停止計(jì)時(shí);setBase方法表示重新計(jì)時(shí)。start和stop方法沒有任何參數(shù),setBase方法有參數(shù),表示開始計(jì)時(shí)的基準(zhǔn)時(shí)間。如果要從當(dāng)前時(shí)刻重新計(jì)時(shí),可以將該參數(shù)值設(shè)為temClock.elapsedRealtime()。
還可以對Chronometer組件做進(jìn)一步設(shè)置。在默認(rèn)情況下,Chronometer組件只輸出MM:SS:MM:SS的時(shí)間格式。例如,當(dāng)計(jì)時(shí)到1分20秒時(shí),Chronometer組件會(huì)顯示01:20。如果變顯示的信息內(nèi)容,可以使用Chronometer類的setFormat方法。該方法需要一個(gè)String變并使用“%s”表示計(jì)時(shí)信息。例如,使用setFormat(“計(jì)時(shí)信息:%s”)設(shè)置顯示信息,Chronometer會(huì)顯示計(jì)時(shí)信息:(計(jì)時(shí)信息:10:20)。
Chronometer組件還可以通過onChronometerTick事件方法來捕捉計(jì)時(shí)動(dòng)作。該方法1秒調(diào)一次。要想使用onChronometerTick事件方法,必須實(shí)現(xiàn)接口:android.widget.Chronometer.OnChronometerTickListener
ChronometerDemo.java
public class ChronometerDemo extends Activity {
private Chronometer mChronometer;//創(chuàng)建一個(gè)計(jì)時(shí)器對象
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chronometer);
mChronometer = (Chronometer) findViewById(R.id.chronometer);//將計(jì)時(shí)器對象實(shí)體化
}
/**初始化按鈕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();//計(jì)時(shí)器開始
}
};
View.OnClickListener mStopListener = new OnClickListener() {
public void onClick(View v) {
mChronometer.stop();//計(jì)時(shí)器暫停
}
};
View.OnClickListener mResetListener = new OnClickListener() {
public void onClick(View v) {
//計(jì)時(shí)器重置為0
mChronometer.setBase(SystemClock.elapsedRealtime());
}
};
View.OnClickListener mSetFormatListener = new OnClickListener() {
public void onClick(View v) {
//改變計(jì)時(shí)器顯示內(nèi)容方式
mChronometer.setFormat("Formatted time (%s)");
}
};
View.OnClickListener mClearFormatListener = new OnClickListener() {
public void onClick(View v) {
//恢復(fù)原來計(jì)時(shí)器顯示方式
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