详解Android控件之DatePicker、TimePicker探究
需积分: 0 119 浏览量
更新于2020-09-01
收藏 81KB PDF 举报
r dp = (DatePicker)findViewById(R.id.datePicker);
dp.init(2023, 9, 15, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int month, int dayOfMonth) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, dayOfMonth);
String dateStr = String.format("%d年-%02d月-%02d日", year, month + 1, dayOfMonth);
dateEt.setText(dateStr);
}
});
TimePicker tp = (TimePicker)findViewById(R.id.timePicker);
tp.setIs24HourView(true); // 设置为24小时制
tp.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
String timeStr = String.format("%02d:%02d", hourOfDay, minute);
timeEt.setText(timeStr);
}
});
}
在Android开发中,DatePicker和TimePicker是非常常用的小部件,它们用于获取用户选择的日期和时间。这两个控件都继承自FrameLayout,提供了直观的用户界面,让用户能够方便地进行交互。
DatePicker控件允许用户选择一个日期,由年、月、日三部分组成。通常,开发者会通过初始化DatePicker来设置默认值,例如上述代码中设置的2023年9月15日。为了监听日期改变的事件,需要为DatePicker添加一个OnDateChangedListener。当用户更改日期时,onDateChanged方法会被调用,更新对应的EditText显示内容。
TimePicker控件同样继承自FrameLayout,它提供了一种选择一天中时间的方式,支持24小时制或AM/PM制。通过setIs24HourView方法可以切换模式。监听TimePicker的时间变化,需要为其设置OnTimeChangedListener。当用户改变时间时,onTimeChanged方法会被触发,更新EditText的文本,显示用户所选的小时和分钟。
在布局文件main.xml中,DatePicker和TimePicker被添加到一个垂直方向的LinearLayout中,它们的宽度设置为wrap_content,高度设置为wrap_content,通过layout_gravity属性居中显示。此外,每个日期和时间选择器旁边都有一个不可编辑的EditText,用于显示用户当前选择的日期和时间。
在DpTpActivity类中,我们首先通过findViewById方法获取到XML布局中定义的DatePicker和TimePicker实例,然后通过init方法初始化DatePicker的默认日期,并设置日期改变监听器。对于TimePicker,我们设置了24小时制,并添加了时间改变监听器。这样,每当用户在DatePicker或TimePicker中选择新的日期或时间时,EditText的内容都会自动更新。
DatePicker和TimePicker是Android应用中处理日期和时间输入的重要工具。通过监听器接口,我们可以轻松获取用户的选择并做出相应的响应,比如保存用户选择的日期和时间,或者根据选择执行相应的业务逻辑。了解和熟练掌握这两个控件的使用,对于Android应用的界面设计和用户体验提升有着重要的作用。
weixin_38638163
- 粉丝: 3
- 资源: 975
最新资源
- springboot078民宿在线预定平台.zip
- springboot078民宿在线预定平台_0303152757.zip
- springboot266基于Web的农产品直卖平台的设计与实现_0303174040.zip
- C#+Winform+SQLServer+图书管理系统
- 基于mobilenet的垃圾分类系统,TensorFlow开发
- springboot080房屋租赁管理系统的设计与实现.zip
- springboot079信息化在线教学平台的设计与实现.zip
- springboot267大学生科创项目在线管理系统的设计与实现.zip
- PL330 DMAC技术参考手册
- springboot082在线宠物用品交易网站的设计与实现.zip
- springboot267大学生科创项目在线管理系统的设计与实现_0303174040.zip
- springboot268码头船只货柜管理系统.zip
- springboot091创新创业教育中心项目申报管理系统a.zip
- 西门子smart200与3台台达MS300变频器通讯程序 器件:西门子s7 200 smart PLC,3台台达ms300变频器,昆仑通态触摸屏(带以太网),中途可以加路由器 控制方式:触摸屏与plc
- springboot268码头船只货柜管理系统_0303174040.zip
- springboot093基于springboot的厨艺交流平台的设计与实现代码.zip