当前位置: 代码网 > it编程>App开发>Android > Android Material组件库日期选择和时间选择器的使用方法

Android Material组件库日期选择和时间选择器的使用方法

2024年05月19日 Android 我要评论
android material组件库日期选择和时间选择器的使用方法简单的封装下material组件里的日期选择器和时间选择器的使用方法效果代码需要添加material组件库的依赖(不过后面新版本an

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组件库内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com