Java日期控件代码 java 日期函数( 六 )


之后显示的效果
这个以对话框的形式来选择时间还是比较常见的 。而且用户体验也是比较好的 。
五 。NumberPicker
NumberPicker是数值选择器 , 用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值 。
NumberPicker的常用方法如下:
方法
描述
setMinValue(int minVal)设置该组件支持的最小值 。
setMaxValue(int maxVal)设置该组件支持的最大值 。
setValue(int value)设置该组件的当前值 。
getMaxValue()获得该组件设置的最大值 。
getMinValue()获得该组件设置的最小值 。
的getValue()获得当前组件显示的值 。
setValue(int value)设置当前组件显示的值 。
使用NumberPicker让用户选择年月日的示例:
(一)布局文件设计
?xml version="1.0" encoding="utf-8"?LinearLayout xmlns:android=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" TableLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center" TableRowandroid:layout_width="match_parent"android:layout_height="wrap_content" TextViewandroid:layout_margin="5dp"android:background="#e2a617"android:gravity="center"android:text="年"android:textSize="20sp" /TextViewandroid:layout_margin="5dp"android:background="#0d637f"android:gravity="center"android:text="月"android:textSize="20sp" /TextViewandroid:layout_margin="5dp"android:background="#aa2266"android:gravity="center"android:text="日"android:textSize="20sp" //TableRowTableRowandroid:layout_width="match_parent"android:layout_height="wrap_content" NumberPickerandroid:id="@+id/number_np_year"android:layout_width="wrap_content"android:layout_height="wrap_content" /NumberPickerandroid:id="@+id/number_np_month"android:layout_width="wrap_content"android:layout_height="wrap_content" /NumberPickerandroid:id="@+id/number_np_day"android:layout_width="wrap_content"android:layout_height="wrap_content" //TableRow/TableLayoutTextViewandroid:id="@+id/number_tv_year"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="日期:" //LinearLayout
1
(二)的Java代码的设计
package com.java.timepicker;import android.app.Activity;import android.os.Bundle;import android.widget.NumberPicker;import android.widget.NumberPicker.OnValueChangeListener;import android.widget.TextView;import com.example.timer.R;public class NumberPickerActivity extends Activity {NumberPicker num_year = null;NumberPicker num_month = null;NumberPicker num_day = null;TextView tv_year = null;int year = 2016;int month = 10;int day = 8;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_numberpicker);initView();}private void initView() {// 实例化NumberPicker对象num_year = (NumberPicker) findViewById(R.id.number_np_year);num_month = (NumberPicker) findViewById(R.id.number_np_month);num_day = (NumberPicker) findViewById(R.id.number_np_day);// 实例化显示年份的文本对象Ftv_year = (TextView) findViewById(R.id.number_tv_year);initYear();initMonth();initDay();}private void initYear() {// 设置NumberPicker对象的相关属性num_year.setMaxValue(100000);num_year.setMinValue(1900);num_year.setValue(2016);// 为NumberPicker设置监听事件num_year.setOnValueChangedListener(new OnValueChangeListener() {@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {year = newVal;showDate();}});}private void initMonth() {// 设置NumberPicker对象的相关属性num_month.setMaxValue(12);num_month.setMinValue(1);num_month.setValue(10);// 为NumberPicker设置监听事件num_month.setOnValueChangedListener(new OnValueChangeListener() {@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {month = newVal;showDate();}});}private void initDay() {// 设置NumberPicker对象的相关属性num_day.setMaxValue(31);num_day.setMinValue(1);num_day.setValue(8);// 为NumberPicker设置监听事件num_day.setOnValueChangedListener(new OnValueChangeListener() {@Overridepublic void onValueChange(NumberPicker picker, int oldVal,int newVal) {day = newVal;showDate();}});}void showDate() {tv_year.setText("你选择的日期是:" + year + "年" + month + "月" + day + "日");}}

推荐阅读