溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android計(jì)時(shí)器控件Chronometer應(yīng)用實(shí)例

發(fā)布時(shí)間:2020-10-18 08:16:58 來源:腳本之家 閱讀:188 作者:極客Dragon 欄目:移動(dòng)開發(fā)

顯示一個(gè)計(jì)時(shí)器開始計(jì)時(shí),當(dāng)計(jì)時(shí)器到達(dá)15s的時(shí)候,停止計(jì)時(shí)。此時(shí)頁面多一個(gè)重置按鈕,可再次進(jìn)行計(jì)時(shí)。

Android計(jì)時(shí)器控件Chronometer應(yīng)用實(shí)例

頁面布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:id="@+id/LinearLayout1" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:orientation="horizontal" 
 android:paddingBottom="@dimen/activity_vertical_margin" 
 android:paddingLeft="@dimen/activity_horizontal_margin" 
 android:paddingRight="@dimen/activity_horizontal_margin" 
 android:paddingTop="@dimen/activity_vertical_margin" 
 tools:context=".MainActivity" 
 android:background="@drawable/bg" > 
 
 <Chronometer 
  android:id="@+id/chronometer" 
  android:layout_marginTop="8dp" 
  android:layout_marginLeft="5dp" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" /> 
 
 <Button 
  android:id="@+id/restart" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="重置" 
  android:visibility="gone" /> 
 
</LinearLayout> 

事件響應(yīng) 

package com.example.chronometerdemo; 
 
import android.os.Bundle; 
import android.os.SystemClock; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Chronometer; 
import android.widget.Chronometer.OnChronometerTickListener; 
 
public class MainActivity extends Activity 
{ 
 Chronometer time=null; 
 Button restart=null; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
   
  time=(Chronometer) findViewById(R.id.chronometer); 
  restart=(Button) findViewById(R.id.restart); 
   
  //設(shè)置起始時(shí)間和時(shí)間格式,然后開始計(jì)時(shí) 
  time.setBase(SystemClock.elapsedRealtime()); 
  time.setFormat("已用時(shí)間:%s"); 
  time.start(); 
   
  //給計(jì)時(shí)器添加監(jiān)聽器,當(dāng)計(jì)時(shí)到達(dá)15s時(shí),要重置 
  time.setOnChronometerTickListener(new OnChronometerTickListener() { 
    
   @Override 
   public void onChronometerTick(Chronometer arg0) 
   { 
    if(SystemClock.elapsedRealtime()-arg0.getBase()>=15000) 
    { 
     arg0.stop(); 
     restart.setVisibility(View.VISIBLE); 
    } 
     
   } 
  }); 
   
  //給按鈕添加重置的效果 
  restart.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View arg0) 
   { 
    time.setBase(SystemClock.elapsedRealtime()); 
    time.start(); 
    restart.setVisibility(View.GONE); 
     
   } 
  }); 
 } 
 
 
 @Override 
 public boolean onCreateOptionsMenu(Menu menu) { 
  // Inflate the menu; this adds items to the action bar if it is present. 
  getMenuInflater().inflate(R.menu.main, menu); 
  return true; 
 } 
  
} 

運(yùn)行效果

Android計(jì)時(shí)器控件Chronometer應(yīng)用實(shí)例

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI