安卓25:Android studio 计时器chronometer的使用

Chronometer作为一个计时器。当需要记录用户进行某项操作所消耗的时间的时候,或者在游戏中需要限制时间时候,可以使用它。
在这里插入图片描述
Chronometer类有3个重要的方法:start、stop和setBase,其中start方法表示开始计时;stop表示停止计时;setBase方法表示起始时间。start和stop方法没有任何参数,setBase方法有参数,表示开始计时的基准时间。如果要从当前时刻重新计时,可以将该参数值设为SystemClock.elapsedRealtime()

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

Chronometer组件还可以通过onChronometerTick事件方法来捕捉计时动作。该方法1秒调一次。要想使用onChronometerTick事件方法,必须通过setOnChronometerTickListener方法实现接口:OnChronometerTickListener,在匿名内部类里重写onChronometerTick事件方法。

public class MainActivity extends AppCompatActivity {
    
    
    Chronometer cb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//页面全屏显示
        cb=findViewById(R.id.chronometer);
        cb.setBase(SystemClock.elapsedRealtime());
        cb.setFormat("计时器%s");
        cb.start();
        cb.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
    
    
            @Override
            public void onChronometerTick(Chronometer chronometer) {
    
    
                if(SystemClock.elapsedRealtime()-cb.getBase()>=60000){
    
    
                    cb.stop();
                }
            }
        });
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43374694/article/details/113645625