博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日期 时间选择器(DatePicker和TimePicker)实现用户选择
阅读量:5089 次
发布时间:2019-06-13

本文共 2688 字,大约阅读时间需要 8 分钟。

日期和时间

作者的设计TimePicker时,大小分布不合理,我调整宽度为match-parent高度为wrap-parent就可以了。

  1. public class MainActivity extends Activity
  2. {
  3. // 定义5个记录当前时间的变量
  4. private int year;
  5. private int month;
  6. private int day;
  7. private int hour;
  8. private int minute;
  9. @Override
  10. public void onCreate(Bundle savedInstanceState)
  11. {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);
  15. TimePicker timePicker = (TimePicker)findViewById(R.id.timePicker);
  16. // 获取当前的年、月、日、小时、分钟
  17. Calendar c = Calendar.getInstance();
  18. year = c.get(Calendar.YEAR);
  19. month = c.get(Calendar.MONTH);
  20. day = c.get(Calendar.DAY_OF_MONTH);
  21. hour = c.get(Calendar.HOUR);
  22. minute = c.get(Calendar.MINUTE);
  23. // 初始化DatePicker组件,初始化时指定监听器
  24. datePicker.init(year, month, day, new OnDateChangedListener()
  25. {
  26. @Override
  27. public void onDateChanged(DatePicker arg0, int year
  28. , int month, int day)
  29. {
  30. MainActivity.this.year = year;
  31. MainActivity.this.month = month;
  32. MainActivity.this.day = day;
  33. // 显示当前日期、时间
  34. showDate(year, month, day, hour, minute);
  35. }
  36. });
  37. timePicker.setEnabled(true);
  38. // TimePicker指定监听器
  39. timePicker.setOnTimeChangedListener(new OnTimeChangedListener()
  40. {
  41. @Override
  42. public void onTimeChanged(TimePicker view
  43. , int hourOfDay, int minute)
  44. {
  45. MainActivity.this.hour = hourOfDay;
  46. MainActivity.this.minute = minute;
  47. // 显示当前日期、时间
  48. showDate(year, month, day, hour, minute);
  49. }
  50. });
  51. }
  52. // 定义在EditText中显示当前日期、时间的方法
  53. private void showDate(int year, int month
  54. , int day, int hour, int minute)
  55. {
  56. EditText show = (EditText) findViewById(R.id.show);
  57. show.setText("您的购买日期为:" + year + ""
  58. + (month + 1) + "" + day + " " + hour + "" + minute + "");
  59. }
  60. }

 

XML文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <TextView
  7. android:layout_width="match_parent"
  8. android:layout_height="wrap_content"
  9. android:text="选择购买本书的具体时间"/>
  10. <!-- 定义一个DatePicker组件 -->
  11. <DatePicker android:id="@+id/datePicker"
  12. android:layout_width="wrap_content"
  13. android:layout_height="200dp"
  14. android:layout_gravity="center_horizontal"
  15. android:startYear="2000"
  16. android:endYear="2016"
  17. android:calendarViewShown="true"
  18. android:spinnersShown="true"/>
  19. <!-- 定义一个TimePicker组件 -->
  20. <TimePicker android:id="@+id/timePicker"
  21. android:layout_width="match_parent"
  22. android:layout_height="wrap_content"
  23. android:layout_gravity="center_horizontal"/>
  24. <!-- 显示用户输入日期、时间的控件 -->
  25. <EditText android:id="@+id/show"
  26. android:layout_width="match_parent"
  27. android:layout_height="wrap_content"
  28. android:editable="false"
  29. android:cursorVisible="false"/>
  30. </LinearLayout>

 

效果

转载于:https://www.cnblogs.com/wwjldm/p/6930524.html

你可能感兴趣的文章
洛谷——P2420 让我们异或吧
查看>>
leetcode650—2 Keys Keyboard
查看>>
Django之ORM
查看>>
Infinite Fraction Path(HDU6223 + bfs + 剪枝)
查看>>
PHP+tcpdf的生成
查看>>
Vue 404页面处理
查看>>
git 中merge的用法
查看>>
js select下拉框(二级联动)
查看>>
java中hashcode()和equals()的详解
查看>>
mysql中配置ssl_key、ssl-cert、ssl-ca的路径及建立ssl连接(适用于5.7以下版本,5.7及以上请看本文末尾的备注)...
查看>>
select2 简单解析
查看>>
学生党必备 超级计算器
查看>>
arm学习笔记六(协处理器)
查看>>
牛客网2016校招真题在线编程之懂二进制
查看>>
UVA11734_Big Number of Teams will Solve This
查看>>
DP Codeforces Round #FF (Div. 1) A. DZY Loves Sequences
查看>>
acdream1116 Gao the string!(hash二分 or 后缀数组)
查看>>
Django 模型
查看>>
mysql手动安装之后出现的问题与解决
查看>>
File转换成MultiPartFile
查看>>