編輯:Android開發實例
在Android SDK中提供了多種時間服務。這些時間服務主要處理在一定時間間隔或未來一時間發生的任務。Android系統中的時間服務的作用域既可以是應用程序本身,也可以是整Android系統。
Chronometer計時器服務
Chronometer是TextView的子類,也是一個Android組件。這個組件可以用1秒的時間間隔計時,並顯示出計時結果。
Chronometer類有3個重要的方法:start、stop和setBase,其中start方法表示開始計時;stop表示停止計時;setBase方法表示重新計時。start和stop方法沒有任何參數,setBase方法有參數,表示開始計時的基准時間。如果要從當前時刻重新計時,可以將該參數值設為temClock.elapsedRealtime()。
還可以對Chronometer組件做進一步設置。在默認情況下,Chronometer組件只輸出MM:SS:MM:SS的時間格式。例如,當計時到1分20秒時,Chronometer組件會顯示01:20。如果變顯示的信息內容,可以使用Chronometer類的setFormat方法。該方法需要一個String變並使用“%s”表示計時信息。例如,使用setFormat(“計時信息:%s”)設置顯示信息,Chronometer會顯示計時信息:(計時信息:10:20)。
Chronometer組件還可以通過onChronometerTick事件方法來捕捉計時動作。該方法1秒調一次。要想使用onChronometerTick事件方法,必須實現接口:android.widget.Chronometer.OnChronometerTickListener
ChronometerDemo.java
- public class ChronometerDemo extends Activity {
- private Chronometer mChronometer;//創建一個計時器對象
- private Button button;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.chronometer);
- mChronometer = (Chronometer) findViewById(R.id.chronometer);//將計時器對象實體化
- }
- /**初始化按鈕Button組件*/
- public void initWidget(){
- // Watch for button clicks.
- button = (Button) findViewById(R.id.start);
- button.setOnClickListener(mStartListener);
- button = (Button) findViewById(R.id.stop);
- button.setOnClickListener(mStopListener);
- button = (Button) findViewById(R.id.reset);
- button.setOnClickListener(mResetListener);
- button = (Button) findViewById(R.id.set_format);
- button.setOnClickListener(mSetFormatListener);
- button = (Button) findViewById(R.id.clear_format);
- button.setOnClickListener(mClearFormatListener);
- }
- View.OnClickListener mStartListener = new OnClickListener() {
- public void onClick(View v) {
- mChronometer.start();//計時器開始
- }
- };
- View.OnClickListener mStopListener = new OnClickListener() {
- public void onClick(View v) {
- mChronometer.stop();//計時器暫停
- }
- };
- View.OnClickListener mResetListener = new OnClickListener() {
- public void onClick(View v) {
- //計時器重置為0
- mChronometer.setBase(SystemClock.elapsedRealtime());
- }
- };
- View.OnClickListener mSetFormatListener = new OnClickListener() {
- public void onClick(View v) {
- //改變計時器顯示內容方式
- mChronometer.setFormat("Formatted time (%s)");
- }
- };
- View.OnClickListener mClearFormatListener = new OnClickListener() {
- public void onClick(View v) {
- //恢復原來計時器顯示方式
- mChronometer.setFormat(null);
- }
- };
- }
chronometer.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:padding="4dip" android:gravity="center_horizontal"
- android:layout_width="fill_parent" android:layout_height="fill_parent">
- <Chronometer android:id="@+id/chronometer"
- android:format="@string/chronometer_initial_format"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_weight="0" android:paddingBottom="30dip"
- android:paddingTop="30dip" />
- <Button android:id="@+id/start" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="@string/chronometer_start">
- <requestFocus />
- </Button>
- <Button android:id="@+id/stop" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="@string/chronometer_stop">
- </Button>
- <Button android:id="@+id/reset" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="@string/chronometer_reset">
- </Button>
- <Button android:id="@+id/set_format" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="@string/chronometer_set_format">
- </Button>
- <Button android:id="@+id/clear_format" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="@string/chronometer_clear_format">
- </Button>
- </LinearLayout>
string.xml
- <?xml version="1.0" encoding="utf-8"?>
- <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="hello">Hello World, ChronometerDemo!</string>
- <string name="app_name">ChronometerDemo</string>
- <string name="chronometer_start">Start</string>
- <string name="chronometer_stop">Stop</string>
- <string name="chronometer_reset">Reset</string>
- <string name="chronometer_set_format">Set format string</string>
- <string name="chronometer_clear_format">Clear format string</string>
- <string name="chronometer_initial_format">Initial format: <xliff:g id="initial-format">%s</xliff:g></string>
- </resources>
轉自:http://geolo.co.cc/?p=39
1.黑白效果 代碼如下:/** * 將彩色圖轉換為黑白圖 * &n
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我