Chronometer的使用
使用
2023-09-14 09:16:39 时间
Chronometer控件布局文件如下
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/widget139" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btn1" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:text="倒计时" android:onClick="countDown" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btn2" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_below="@+id/btn1" android:text="顺计时" android:onClick="countUp" /> <Chronometer android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/btn1" android:layout_centerHorizontal="true" android:id="@+id/chronometer" android:visibility="visible" /> </RelativeLayout>
处理代码如下
package com.idt.os.mychronoscopeapp; import android.graphics.Color; import android.os.Bundle; import android.os.SystemClock; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Chronometer; public class MainActivity extends AppCompatActivity { private Chronometer chronometer; private final int DOWN_COUNTER_TIMER = 10000; //10秒 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); chronometer = (Chronometer) findViewById(R.id.chronometer); chronometer.setTextSize(100); //字体大小 chronometer.setTextColor(Color.RED); //字体颜色 chronometer.setFormat("%s"); //设置计时器显示格式 } public void countDown(View view) { chronometer.setBase(SystemClock.elapsedRealtime()+DOWN_COUNTER_TIMER); //设置计时时基 chronometer.setCountDown(true); //倒计时 final long base = chronometer.getBase(); chronometer.start(); //启动计时 chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { long time = SystemClock.elapsedRealtime(); /获取系统时间 if(time >= base) { if(chronometer.isCountDown()) //是否是倒计时 chronometer.stop(); //停止计时 } } }); } public void countUp(View view) { chronometer.setBase(SystemClock.elapsedRealtime()); //设置计时时基 chronometer.setCountDown(false); //顺计时 chronometer.start(); //启动计时 } }
相关文章
- TypeScript介绍和使用
- PHP使用file_get_contents打开URL获得网页内容及函数超时控制的用法
- MySQL查看数据库:快速使用命令(mysql查看数据库命令)
- Oracle 视图 DBA_GG_PROC_OBJECT_EXCLUSION 官方解释,作用,如何使用详细说明
- Oracle 视图 TS_PITR_CHECK 官方解释,作用,如何使用详细说明
- 提高mysql数据库查询效率:优化索引使用(mysql数据库索引使用)
- 使用PM2轻松管理Linux服务器进程(pm2linux)
- ewebeditor在.net的使用方法
- JavaScript事件记录使用说明
- ExtJS正则表达式使用说明
- node.js中的fs.link方法使用说明