Android 计时器 Chronometer
生活随笔
收集整理的這篇文章主要介紹了
Android 计时器 Chronometer
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Android 簡單的計時器可以使用系統提供的方法Chronometer?
下面是是實現的效果
Chronometer 的幾個方法如下:
1? start(); 計時開始
2 stop(); 計時暫停
3?setBase?設置計時時間
4?setFormat 設置時間格式
5?setOnChronometerTickListener 計時監聽
下面寫一個demo?
在xml 中布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><Buttonandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="計時開始" /><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="計時暫停" /><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="恢復計時" /><Buttonandroid:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="重置計時" /><Chronometerandroid:id="@+id/chronometer"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textColor="#FF0000"android:textSize="25sp" /></LinearLayout>
java 代碼
public class MainActivity extends AppCompatActivity {private Chronometer chronometer;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);chronometer = findViewById(R.id.chronometer);findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//設置計時時間為當前時間,(方便監聽計時從什么時候開發)chronometer.setBase(SystemClock.elapsedRealtime());//設置顯示格式// chronometer.setFormat("%s");// 更改時間顯示格式,默認xml 寫的是00:00 ,在計時前面添加文字chronometer.setFormat("計時時間:%s");//啟動計時器chronometer.start();}});findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//啟動計時器chronometer.stop();}});findViewById(R.id.btn2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//啟動計時器chronometer.start();}});findViewById(R.id.btn3).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//啟動計時器chronometer.setText("00:00");chronometer.setBase(SystemClock.elapsedRealtime());}});//設置計時器該改變監聽事件chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {@Overridepublic void onChronometerTick(Chronometer chronometer) {//如果當前時間 - 計時器的起始時間 >= 30秒if (SystemClock.elapsedRealtime() - chronometer.getBase() >= 30 * 1000) {//停止計時器chronometer.stop();}}});}}
這樣就實現上面的效果
?
總結
以上是生活随笔為你收集整理的Android 计时器 Chronometer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 钢铁侠最初是谁画的啊?
- 下一篇: Android TextView t