android简单的日期时间选择器
16lz
2021-01-23
android简单的日期时间选择器
- 在build.gradle中导入
implementation 'com.contrarywind:Android-PickerView:3.2.7'
- xml中设置一个TextView,用来触发及最终显示日期时间结果
<TextView android:id="@+id/start_day" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:hint="请选择" android:textSize="14dp" />
- activity.java中调用
public class MainActivity extends AppCompatActivity { TimePickerView pvTime; TextView start_day; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start_day = findViewById(R.id.start_day); start_day .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //点击组件的点击事件 pvTime.show(start_day); } }); //控制时间范围(如果不设置范围,则使用默认时间1900-2100年,此段代码可注释) //因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11 Calendar selectedDate = Calendar.getInstance(); Calendar startDate = Calendar.getInstance(); startDate.set(2013, 0, 23); Calendar endDate = Calendar.getInstance(); endDate.set(2029, 11, 28); //时间选择器 pvTime = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() { @Override public void onTimeSelect(Date date, View v) { //选中事件回调 // 这里回调过来的v,就是show()方法里面所添加的 View 参数,如果show的时候没有添加参数,v则为null TextView btn = (TextView) v; btn.setText(getTimes(date)); } }) //年月日时分秒 的显示与否,不设置则默认全部显示 .setType(new boolean[]{ true, true, true, true, true, true}) .setLabel("年", "月", "日", "时", "分", "秒") .isCenterLabel(true) .setDividerColor(Color.DKGRAY) .setContentSize(21) .setDate(selectedDate) .setRangDate(startDate, endDate) .setDecorView(null) .build(); } private String getTimes(Date date) { //可根据需要自行截取数据显示 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(date); }}
更多相关文章
- 干货文章整理(建议有时间多看几遍)
- Android(Java) GMT时间转换
- android造假 editView显示时间
- Android怎样修改系统时间?
- 安卓入门及界面带参数跳转
- [读书笔记] Android Toast 显示时间叠加问题的探讨
- Android 之 日期选择器
- Android中同时选择日期和时间
- Android4.4.2 获取NTP时间,并设置系统时间