Android?Material组件库日期选择和时间选择器的使用方法
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
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使用TextView,设置onClick属性无效的解决方法
下面小编就为大家带来一篇Android使用TextView,设置onClick属性无效的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-12-12Android应用中clearFocus方法调用无效的问题解决
clearFocus()主要用于清除EditText的焦点,Android App开发中很多时候会发现其调用无效,带着这个问题我们就来看一下本文主题、Android应用中clearFocus方法调用无效的问题解决2016-05-05
最新评论