概述
1:build.gradle中加入依赖
implementation 'com.contrarywind:Android-PickerView:3.2.6'
2:activity_main中选择日期后显示的布局
<TextView
android:id="@+id/day_select"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:hint="请选择日期"
android:textSize="16sp" />
3:MainActivity中代码
public class MainActivity extends AppCompatActivity{
TimePickerView pvTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView day_select = findViewById(R.id.day_select);
day_select .setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//点击组件的点击事件
if (pvTime!=null){
pvTime.show(day_select);
}
}
});
//控制时间范围(如果不设置范围,则使用默认时间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, false})
.setLabel("年", "月", "日", "时", "分", "秒")
.isCenterLabel(true)
.setDividerColor(Color.DKGRAY)
.setContentSize(16)//字号
.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实现时间选择器的全部内容,希望文章能够帮你解决Android实现时间选择器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复