上面是我们要实现的效果,很多底部弹出来的列表都可以满足,下面我们就开始讲解吧 .
最终用法:
var builder1= ListPickerView
.Builder(activity, ListPickerView.OnItemSelectListener { item, v ->
showLog(""+ item)
})
.setCancelText("取消") //取消按钮文字
.setSubmitText("确定") //确认按钮文字
.setLineHeigth(UtilSystem.dip2px(activity,56.0f).toFloat())
.setContentSize(20)//滚轮文字大小
.setTitleBgColor(R.drawable.pickerview_bg_topbar)
.setTitleText("自定义标题")//标题文字
.setTitleColor(Color.WHITE)
.setCurrentItem(4)
.setData(arrayListOf("1","2","3","4","5","6"))
.setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示
.isCenterLabel(true) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
val pvTime1 = ListPickerView(builder1!!)
pvTime1.show()
var builder = TimePickerView.Builder(activity)
{ date, v ->
showLog("" + SimpleDateFormat("yyyy-MM").format(date))
}
.setCancelText("取消") //取消按钮文字
.setSubmitText("确定") //确认按钮文字
.setLineHeigth(UtilSystem.dip2px(activity, 56.0f).toFloat())
.setContentSize(16)//滚轮文字大小
.setTitleBgColor(R.drawable.pickerview_bg_topbar)
.setTitleText("时间")//标题文字
.setTitleColor(Color.WHITE)
.setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示
// .setDate(selectedDate)// 如果不设置的话,默认是系统时间*/
// .setRangDate(startDate,endDate)//起始终止年月日设定
.setLabel("年", "月", "日")//默认设置为年月日时分秒
.isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
val pvTime = TimePickerView(builder!!)
pvTime.show()
https://github.com/MrBaypm/DateSelectTool 具体见我github