android简单的日期时间选择器

朱雀 2023-07-11 11:23 44阅读 0赞

android简单的日期时间选择器

  1. 在build.gradle中导入

    implementation ‘com.contrarywind:Android-PickerView:3.2.7’

  2. xml中设置一个TextView,用来触发及最终显示日期时间结果

  3. activity.java中调用

    public class MainActivity extends AppCompatActivity {

    1. TimePickerView pvTime;
    2. TextView start_day;
    3. @Override
    4. protected void onCreate(Bundle savedInstanceState) {
    5. super.onCreate(savedInstanceState);
    6. setContentView(R.layout.activity_main);
    7. start_day = findViewById(R.id.start_day);
    8. start_day .setOnClickListener(new View.OnClickListener() {
    9. @Override
    10. public void onClick(View view) {
    11. //点击组件的点击事件
    12. pvTime.show(start_day);
    13. }
    14. });
    15. //控制时间范围(如果不设置范围,则使用默认时间1900-2100年,此段代码可注释)
    16. //因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11
    17. Calendar selectedDate = Calendar.getInstance();
    18. Calendar startDate = Calendar.getInstance();
    19. startDate.set(2013, 0, 23);
    20. Calendar endDate = Calendar.getInstance();
    21. endDate.set(2029, 11, 28);
    22. //时间选择器
    23. pvTime = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() {
    24. @Override
    25. public void onTimeSelect(Date date, View v) { //选中事件回调
    26. // 这里回调过来的v,就是show()方法里面所添加的 View 参数,如果show的时候没有添加参数,v则为null
    27. TextView btn = (TextView) v;
    28. btn.setText(getTimes(date));
    29. }
    30. })
    31. //年月日时分秒 的显示与否,不设置则默认全部显示
    32. .setType(new boolean[]{ true, true, true, true, true, true})
    33. .setLabel("年", "月", "日", "时", "分", "秒")
    34. .isCenterLabel(true)
    35. .setDividerColor(Color.DKGRAY)
    36. .setContentSize(21)
    37. .setDate(selectedDate)
    38. .setRangDate(startDate, endDate)
    39. .setDecorView(null)
    40. .build();
    41. }
    42. private String getTimes(Date date) { //可根据需要自行截取数据显示
    43. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    44. return format.format(date);
    45. }

    }

发表评论

表情:
评论列表 (有 0 条评论,44人围观)

还没有评论,来说两句吧...

相关阅读