【Android(安卓)开发】:UI控件之 DatePicker 输入日期控件的使用
16lz
2021-01-26
DatePicker(输入日期的控件) DatePicker控件可用于输入日期,日期的范围是1900-1-1到2100-12-31。
下面我们就来学习一下输入日期控件的使用方法:
在学习之前,我们先来查看一下Android API文档中关于DatePicker类的说明:这是一个基于calendar类上可以选择年月日的视图很像一个布局文件,对于如何使用日期控件的对话框,可以查看 DatePickerDialog 方法,注意到它里面有一个匿名内部类,表示当日期发生改变的时候就会触发这个方法。
程序实现:
1. 布局文件
<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <DatePicker android:id="@+id/dataPicker" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TimePicker android:id="@+id/timePicker" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- 用文本控件来显示数字的时间 --> <TextView android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="18dp" /> </LinearLayout></ScrollView>
2. 程序主要代码public class DatePickerDemoActivity extends Activity implements OnDateChangedListener, OnTimeChangedListener { private TextView textView; private DatePicker datePicker; private TimePicker timePicker; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initComponent(); datePicker.init(2013, 6, 3, this);// 初始化日期 timePicker.setIs24HourView(true);// 显示时间是否按照24小时制 timePicker.setOnTimeChangedListener(this); } // 时间触发事件 @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub Toast.makeText(DatePickerDemoActivity.this, "housOfDay: " + hourOfDay + "minute: " + minute, 1).show(); } // 日期触发事件 @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub // 这边调整一个日期当时间,需要用到一个日期类calendar Calendar calendar = Calendar.getInstance(); calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), timePicker.getCurrentHour(), timePicker.getCurrentMinute()); //将当前时间进行格式化 SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月DD日 HH:mm"); textView.setText(format.format(calendar.getTime())); } private void initComponent() { datePicker = (DatePicker) findViewById(R.id.dataPicker); timePicker = (TimePicker) findViewById(R.id.timePicker); textView = (TextView) findViewById(R.id.textview); }}
3. 程序执行结果
更多相关文章
- android调用系统相机拍摄多张照片
- Android(安卓)相见恨晚的命名规约
- android中webview控件和javascript交互实例
- Android的5种基本布局
- Android例listview中android:descendantFocusability用法简析
- 笔记:安卓改变app名字和定位显示时间间隔的问题
- [Android]MirrorOp-Sender破解无时间限制版
- Flutter技术概览
- android显示gif图