編輯:Android開發實例
前言
本章內容是 android.widget.Chronometer,譯為"計時器",版本為Android 2.2 r1 。期待你一起參與Android API 的中文翻譯,聯系我[email protected]。
正文
一、結構
public class Chronometer extends TextView
java.lang.Object
android.view.View
android.widget.TextView
android.widget.Chronometer
二、概述
類實現了一個簡單的計時器。
你可以通過elapsedRealtime()
來
給它一個基准時間,並從該時間開始計數。如果你不給它基准時間,它將使用你調用start()
時的時間。默認它將顯示當前"MM:SS"或 "H:MM:SS"格式的時間,或者你能通過setFormat(String)
設置一個任意字符串來格式化顯示計時器顯示的時間。
三、XML屬性
屬性名稱
描述
android:format
格式化字符串:如果指定,計時器將根據這個字符串來顯示,替換字符串中第一個“%s”為當前"MM:SS"或 "H:MM:SS"格式的時間顯示。如果不指定,計時器將簡單的顯示"MM:SS" or "H:MM:SS"格式的時間。(譯者注:如:“This is a Chronometer %s”
)
四、構造函數
public Chronometer (Context context)
初始化計時器對象。設置當前時間為基准時間。(譯者注:通過程序動態創建計時器對象)
public Chronometer (Context context, AttributeSet attrs)
初始化標准視圖布局信息。設置當前時間為基准時間。(譯者注:指通過XML來指定一個計時器)
public Chronometer (Context context, AttributeSet attrs, int defStyle)
初始化標准視圖布局信息和風格。設置當前時間為基准時間。
五、公共方法
public long getBase ()
返回先前由setBase(long)設置的基准時間。
public String getFormat ()
返回先前由setFormat(String)設置的格式化字符串。
public Chronometer.OnChronometerTickListener getOnChronometerTickListener ()
返回值
返回這個監聽器(可能為空)是用於監聽計時器變化的事件。
public void setBase (long base)
設置基准時間(譯者注:基准時間為真正意義上開始計時的時間,而不是調用start時時間,比如調用本函數並設置參數base為SystemClock.elapsedRealtime()即表示從當前時間開始重新計時)。
參數
base 使用elapsedRealtime()為基准時間
public void setFormat (String format)
設置用於顯示的格式化字符串。格式化字符串:如果指定,計時器將根據這個字符串來顯示,替換字符串中第一個“%s”為當前"MM:SS"或 "H:MM:SS"格式的時間顯示。如果這個格式化字符串為空,或者你從未調用過setFormat()方法,計時器將簡單的顯示"MM:SS" or "H:MM:SS"格式的時間。(譯者注:如:"This is a Chronometer %s"
)
參數
format 格式化字符串
public void setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener)
設置計時器變化時調用的監聽事件。
參數
listener The listener.
public void start ()
開始計時。不會影響到由setBase(long)設置的基准時間,僅顯示視圖。即使部件不顯示,計時器也會通過定時處理消息來工作。為了確保不發生資源洩漏,用戶應確保每個start()方法都有對應的stop()調用(譯者注:有一個start就有一個stop)。(譯者注:start只是顯示計時,實際上計時是從基准時間開始的,所以通過stop停止計時若干秒後再start時,顯示的計時會突然跳到當前顯示的計時後的若干秒後繼續計時,見此帖子。)
public void stop ()
停止計時。不會影響到由setBase(long)設置的基准時間,僅顯示視圖。這將停止消息發送,有效地釋放計時器運行時start()占用的資源。
六、受保護方法
protected void onDetachedFromWindow ()
視圖從窗體上移除時調用,同時窗體表面不再顯示視圖。
protected void onWindowVisibilityChanged (int visibility)
當窗體中視圖的可視性(GONE, INVISIBLE, VISIBLE)發生改變時調用。注意它將告訴你你的窗口是否可以被窗口管理器識別,這並不能說明窗口是否被屏幕上的其他窗口遮擋,即使它本身是可見的。
參數
visibility 窗口新的可見性
七、補充
文章鏈接
android中的時間服務–Chronometer計時器服務
示例代碼
Java文件
XML文件
- public class ChronometerDemo extends Activity {
- private Chronometer cher1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.chronometer);
- cher1 = (Chronometer) findViewById(R.id.cher1);
- cher1.setFormat("計時:%s");
- }
- /**
- * 開始計時
- * @param view
- */
- public void onStart(View view) {
- cher1.start();
- }
- /**
- * 停止計時
- * @param view
- */
- public void onStop(View view) {
- cher1.stop();
- }
- /**
- * 重置
- * @param view
- */
- public void onReset(View view) {
- cher1.setBase(SystemClock.elapsedRealtime());
- }
- }
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"
- android:layout_width="wrap_content" android:layout_height="wrap_content">
- <Chronometer android:id="@+id/cher1" android:layout_width="wrap_content"
- android:layout_height="wrap_content"></Chronometer>
- <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
- <Button android:onClick="onStart" android:text="開始計時" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
- <Button android:onClick="onStop" android:text="停止計時" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
- <Button android:onClick="onReset" android:text="重置" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
- </LinearLayout>
- nearLayout>
本文實例講述了Android實現模仿UCweb菜單效果的方法。分享給大家供大家參考。具體如下: UCWeb的菜單看起來不錯,自己模仿做一個,思路實現如下: 1、保
有時候,不希望圖片突然出現在屏幕上,而要應用某種形式的動畫顯示圖片時,從一個圖像轉換到另一個。這是在Android中支持的ImageSwitcher圖像切換器允許通過它們
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
Android通用流行框架大全 1. 緩存 DiskLruCacheJava實現基於LRU的磁盤緩存 2.圖片加載 Android Univer