时间计时android程序,Android 时间计时器控件 Chronometer

当你想要显示时间的推移而不是进程的增加的时候,可以使用Chronometer作为一个计时器。当需要记录用户进行某项操作所消耗的时间的时候,或者在游戏中需要限制时间时候,它将非常实用。

这里,Chronometer对象的format属性可以用来设置显示时间周围的文字。并且只有它的start()在被调用之后才会显示时间及附加文字,要停止计时器可以调用stop()方法。setBase()方法用来设定设置计时器的起点,当将计时器几点设置为0的时候,计时器将从手机上次重启的时刻开始计时。

方法简介:

long getBase(); //返回基地的时间,由setBase(long)设置的,可以是SystemClock.elapsedRealtime()

String getFormat();//返回当前字符串格式,此格式是通过setFormat()实现的

void setBase(long base);//设置时间,计数定时器指定的值

void setFormat(String format);//设置显示的内容,计时器将会显示这个参数所对应的值得,如果字符串的值

为null,那么返回的值为MM:SS格式的

chronometer是一个计时器,我们可以通过其进行设置。主要的方法有

0818b9ca8b590ca3270a3433284dd417.png

Chronometer类有3个重要的方法:start、stop和setBase,其中start方法表示开始计时;stop表示停止计时;setBase方法表示重新计时。start和stop方法没有任何参数,setBase方法有参数,表示开始计时的基准时间。如果要从当前时刻重新计时,可以将该参数值设为temClock.elapsedRealtime()。

还可以对Chronometer组件做进一步设置。在默认情况下,Chronometer组件只输出MM:SS:MM:SS的时间格式。例如,当计时到1分20秒时,Chronometer组件会显示01:20。如果变显示的信息内容,可以使用Chronometer类的setFormat方法。该方法需要一个String变并使用“%s”表示计时信息。例如,使用setFormat(“计时信息:%s”)设置显示信息,Chronometer会显示计时信息:(计时信息:10:20)。

Chronometer组件还可以通过onChronometerTick事件方法来捕捉计时动作。该方法1秒调一次。要想使用onChronometerTick事件方法,必须实现接口:android.widget.Chronometer.OnChronometerTickListener

ChronometerDemo.java

public class ChronometerDemo extends Activity {

private Chronometer mChronometer;//创建一个计时器对象

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) {

//改变计时器显示内容方式

mChronometer.setFormat("Formatted time (%s)");

}

};

View.OnClickListener mClearFormatListener = new OnClickListener() {

public void onClick(View v) {

//恢复原来计时器显示方式

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值