天天看點

Android39_Clock和TimePicker

一、AnalogClock和DigitalClock

       AnalogClock和DigitalClock都是Android的時鐘元件。不同點在于AnalogClock是一個圓形的表盤時鐘,具有時針和分針。DigitalClock則是一個文本樣式的時鐘,如21:43:15。

       這兩種時鐘都很簡單易用,隻要在布局檔案中配置即可。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <AnalogClock android:id="@+id/analogClock"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentTop="true"></AnalogClock>
    <DigitalClock
    android:id="@+id/digitalClock"
    android:text="digitalClock"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@id/analogClock"></DigitalClock>
</RelativeLayout>
      

 運作結果:

Android39_Clock和TimePicker

 二、TimePicker和TimePickerDialog

       TimePicker用于直接在界面上顯示設定時間。TimePickerDialog則是以對話框的形式顯示時間設定界面。

TimePicker執行個體:

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TimePicker   
    android:id="@+id/timePicker"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"/> 
<TextView
	android:id="@+id/timetext" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/>
</LinearLayout>       

TimePickerActivity.java

package com.android.activity;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
public class TimePickerActivity extends Activity {
	private TimePicker timePicker = null;
	private TextView textView = null;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        timePicker = (TimePicker)findViewById(R.id.timePicker);
        textView = (TextView)findViewById(R.id.timetext);
        timePicker.setOnTimeChangedListener(new TimePickerListener());
    }
	class TimePickerListener implements OnTimeChangedListener{
		public void onTimeChanged(TimePicker view, 
				int hourOfDay, int minute) {
			textView.setText("您設定的時間是: " + hourOfDay 
				+ "時" + minute + "分");
		}
	}
} 
           

 運作結果:

Android39_Clock和TimePicker

 TimePickerDialog執行個體:

TimePickerDialogActivity.java

package com.android.activity;
import java.util.Calendar;
import android.app.Activity;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.TimePicker;
public class TimePickerDialogActivity extends Activity {
	private TextView textView = null;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        textView = (TextView)findViewById(R.id.textview);
        //得到時間
        Calendar calendar = Calendar.getInstance();   
        int hour   = calendar.get(Calendar.HOUR_OF_DAY);  
        int minute = calendar.get(Calendar.MINUTE);     
        TimePickerDialogListener timeSet = 
				new TimePickerDialogListener();
        //參數分别為:context、監聽器、初始時間、初始分鐘、是24小時顯示false為AM/PM
        TimePickerDialog timePickerDialog = new TimePickerDialog(this,
				timeSet, hour, minute, true);  
        timePickerDialog.show(); 
    }
	class TimePickerDialogListener implements OnTimeSetListener{
		//點選設定時即會調用
	   public void onTimeSet(TimePicker view,int hourOfDay,int minute) {
			String time = "您設定的時間為:"+hourOfDay+":"+minute;
			textView.setText(time);
		}
	}
}
           

 運作結果:設定界面

Android39_Clock和TimePicker

 設定完成後:

Android39_Clock和TimePicker