Android Material组件库日期选择和时间选择器的使用方法
Android Material组件库日期选择和时间选择器的使用方法
简单的封装下Material组件里的日期选择器和时间选择器的使用方法
效果

代码
需要添加Material组件库的依赖(不过后面新版本Android Studio创建的新项目都会有此依赖了...)
implementation 'com.google.android.material:material:1.4.0'
private fun showTimeDialog(startDate: Date? = null) {
val builder = MaterialTimePicker.Builder()
//设置时间格式为24小时制
builder.setTimeFormat(TimeFormat.CLOCK_24H)
startDate?.let {
builder.setHour(it.hours)
builder.setMinute(it.minutes)
}
val timePicker = builder.build()
timePicker.apply {
// 设置事件监听器(当用户选择日期时触发)
addOnPositiveButtonClickListener {
val hour = timePicker.hour
val mintue = timePicker.minute
val hourStr = if (hour>9) hour.toString() else "0$hour"
val mintueStr = if (mintue>9) hour.toString() else "0$mintue"
val timeStrText = "$hourStr:$mintueStr"
//todo 选择时间后的操作
}
}
timePicker.show(supportFragmentManager, "DATE_PICKER_TAG")
}private fun showDateDialog(startDate: Date? = null) {
// 创建 Material 日历选择器实例
val builder = MaterialDatePicker.Builder.datePicker()
//设置默认选择数据
startDate?.let {
builder.setSelection(it.time)
}
// 构建 Material 日历选择器
val materialDatePicker = builder.build()
materialDatePicker.apply {
// 设置事件监听器(当用户选择日期时触发)
addOnPositiveButtonClickListener {
val date = Date(it)
//todo 选择时间后的操作
}
}
materialDatePicker.show(supportFragmentManager, "DATE_PICKER_TAG")
}扩展:
Android TextView自动缩放能够完整显示出一行
app开发中,需要TextView可以在不同的屏幕大小要完整显示出文字,而不是显示省略号
可以使用以下代码,让TextView字体实现自适应(不过具体算法已经实现了,我们只需要设置下即可实现效果)
//设置最大行数为1行(在xml中设置也可) tvPhotoRecovery.maxLines = 1 TextViewCompat.setAutoSizeTextTypeWithDefaults(tvPhotoRecovery, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM) //设置字体大小范围为12sp-22sp TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(tvPhotoRecovery, 12, 22, 1, TypedValue.COMPLEX_UNIT_SP)
setAutoSizeTextTypeUniformWithConfiguration方法的4个参数说明:
setAutoSizeTextTypeUniformWithConfiguration( TextView textView, int autoSizeMinTextSize, //字体最小数值 int autoSizeMaxTextSize, //字体最大数值 int autoSizeStepGranularity,//自动适应的步长(简单理解就是在最小和最大范围之间,从最小数值递增步长[n]来计算最符合的字体大小) int unit //字体单位,sp就可以 )
到此这篇关于Android Material组件库(日期选择和时间选择器)基本使用的文章就介绍到这了,更多相关Android Material组件库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Android编程基于自定义view实现公章效果示例【附源码下载】
这篇文章主要介绍了Android编程基于自定义view实现公章效果,结合实例形式分析了Android使用自定义view进行图形绘制的相关操作技巧,并附带完整实例源码供读者下载参考,需要的朋友可以参考下2017-11-11
Android Studio Electric Eel支持手机投屏
这篇文章主要为大家介绍了Android Studio Electric Eel支持手机投屏功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-05-05
Android编程使用GestureDetector实现简单手势监听与处理的方法
这篇文章主要介绍了Android编程使用GestureDetector实现简单手势监听与处理的方法,简单讲述了Android手势监听的原理并结合实例形式分析了GestureDetector实现手势监听与处理的相关操作技巧,需要的朋友可以参考下2017-09-09
Android View源码解读 DecorView与ViewRootImpl浅谈
这篇文章主要解读了Android View源码,为大家详细介绍DecorView与ViewRootImpl,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-02-02


最新评论