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);
}
});
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) {
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);
}
}