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中SharedPreferences实现存储用户名功能
本篇文章主要介绍了android中SharedPreferences实现保存用户名功能,详细的介绍了SharedPreferences的功能,需要的朋友可以参考下2017-04-04Android Studio用genymotion运行后小图标无法显示问题
这篇文章主要介绍了Android Studio用genymotion运行后小图标无法显示的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04用Flutter做桌上弹球(绘图(Canvas&CustomPaint)API)
这篇文章主要介绍了用Flutter做桌上弹球 聊聊绘图(Canvas&CustomPaint)API,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07Android RecyclerView 复用错乱通用解法详解
本篇文章主要介绍了Android RecyclerView 复用错乱通用解法详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-08-08Android shell命令行中过滤adb logcat输出的几种方法
本文主要介绍Android shell命令行中过滤adb logcat输出的方法,这里整理了几种方法,并详细的说明,有需要的朋友可以参考下2016-08-08
最新评论