Android应用开发UI(日期和时间)

Android中的日期和时间很酷,用到了DatePicker和TimePicker组件,效果图:


Android应用开发UI(日期和时间)
 


Android应用开发UI(日期和时间)
 


Android应用开发UI(日期和时间)
 

代码:

1.res/values/string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title_tx">设置日期和时间:</string>
    <string name="app_name">设置日期和时间</string>
    <string name="set_date">设置日期</string>
    <string name="set_time">设置时间</string>
</resources>

 

2,res/layout/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"
    >
	<TextView  
	    android:layout_width="fill_parent" 
	    android:layout_height="wrap_content" 
	    android:text="@string/title_tx"
	    android:id="@+id/title_tx">
    </TextView>
    
	<DatePicker 
		android:id="@+id/datePicker1" 
		android:layout_width="wrap_content" 
		android:layout_height="wrap_content">
	</DatePicker>
	
	<TimePicker 
		android:id="@+id/timePicker1" 
		android:layout_width="wrap_content" 
		android:layout_height="wrap_content">
	</TimePicker>
	
	<Button 
		android:text="@string/set_date"
		android:id="@+id/set_date" 
		android:layout_width="wrap_content" 
		android:layout_height="wrap_content">
	</Button>
	
	<Button 
		android:text="@string/set_time"
		android:id="@+id/set_time" 
		android:layout_width="wrap_content" 
		android:layout_height="wrap_content">
	</Button>
</LinearLayout>

 

3.Activity类

package com.cottsoft.android;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;

public class A010Activity extends Activity {
	private TextView m_title;
	
	private DatePicker m_datePicker;
	private TimePicker m_timePicker;
	
	private Button m_set_date_btn,m_set_time_btn;
	
	private Calendar c;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        c = Calendar.getInstance();
        m_title = (TextView) findViewById(R.id.title_tx);
        m_title.setTextSize(20);
        
        m_datePicker = (DatePicker) findViewById(R.id.datePicker1);
        m_datePicker.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {			
			@Override
			public void onDateChanged(DatePicker view, int year, int monthOfYear,
					int dayOfMonth) {
				//c.set(year, monthOfYear, dayOfMonth);
			}
		});
        
        m_timePicker = (TimePicker) findViewById(R.id.timePicker1);
        m_timePicker.setIs24HourView(true);
        m_timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener(){
			@Override
			public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
				//c.set(year, month, day, hourOfDay, minute)
			}
        	
        });
        
        m_set_date_btn = (Button) findViewById(R.id.set_date);
        m_set_time_btn = (Button) findViewById(R.id.set_time);
        
        m_set_date_btn.setOnClickListener(new Button.OnClickListener(){
			@Override
			public void onClick(View v) {
				new DatePickerDialog(A010Activity.this, new DatePickerDialog.OnDateSetListener() {
					@Override
					public void onDateSet(DatePicker view, int year, int monthOfYear,
							int dayOfMonth) {
						//
					}
				}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)).show();
			}
        });
        
        m_set_time_btn.setOnClickListener(new Button.OnClickListener(){
			@Override
			public void onClick(View v) {
				new TimePickerDialog(A010Activity.this, new TimePickerDialog.OnTimeSetListener() {
					@Override
					public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
						//
					}
				}, c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true).show();
			}
        });
    }
}