Android开发之DatePicker控件与TimePicker控件

技术分享

DatePicker控件继承自FrameLayout类,日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并允许用户对其修改。

技术分享

TimePicker控件继承自FrameLayout类,向用户显示一天中的时间,允许用户对其进行修改。



DatePicker控件的方法:

1.init()

初始化DatePicker日期选择控件,设置初始显示的年份、月份、日数,设置日期更改监听器。其中有一个monthOfYear参数为初始月份,实际显示的月份是此处设置的值加1。

2.OnDateChangedListener()

设置日期监听器。

3.updateDate

更新DatePicker控件,调用该方法将触发日期更改监听器。


TimePicker控件的方法:

1.setCurrentHour()

设置TimePicker显示的小时。

2.setCurrentMinute()

设置TimePicker显示的分钟。

3.setIs24HourView()

时间选择控件是否按照24小时进制显示。

4.setOnTimeChangedListener()

设置时间更改监听器。



小实例:

MainActivity.java

public class MainActivity extends Activity {

	DatePicker datePicker;
	TimePicker timePicker;
	TextView timeStr, dateStr;

	@Override
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		datePicker = (DatePicker) findViewById(R.id.date);
		timePicker = (TimePicker) findViewById(R.id.time);
		timeStr = (TextView) findViewById(R.id.time_str);
		dateStr = (TextView) findViewById(R.id.date_str);

		Calendar calendar = Calendar.getInstance();
		int year = calendar.get(Calendar.YEAR);
		int monthOfYear = calendar.get(Calendar.MONTH);
		int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
		

		datePicker.init(year, monthOfYear, dayOfMonth, new OnDateChangedListener() {

			@Override
			public void onDateChanged(DatePicker arg0, int year, int monthOfYear,
					int dayOfMonth) {
				
				dateStr.setText(year + "年"+(monthOfYear+1)+"月"+dayOfMonth+"日");

			}
		});
		
		
		timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
			
			@Override
			public void onTimeChanged(TimePicker arg0, int hour, int minuter) {
				timeStr.setText(hour+"时"+minuter+"分");
			}
		});

	}
}
activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/date_str"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
         <TextView
             android:id="@+id/time_str"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>

    <DatePicker
        android:id="@+id/date"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="3" />

    <TimePicker
        android:id="@+id/time"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="3" />

</LinearLayout>

效果图:

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。