Android?Material組件庫日期選擇和時間選擇器的使用方法
Android Material組件庫日期選擇和時間選擇器的使用方法
簡單的封裝下Material組件里的日期選擇器和時間選擇器的使用方法
效果

代碼
需要添加Material組件庫的依賴(不過后面新版本Android Studio創(chuàng)建的新項目都會有此依賴了...)
implementation 'com.google.android.material:material:1.4.0'
private fun showTimeDialog(startDate: Date? = null) {
val builder = MaterialTimePicker.Builder()
//設(shè)置時間格式為24小時制
builder.setTimeFormat(TimeFormat.CLOCK_24H)
startDate?.let {
builder.setHour(it.hours)
builder.setMinute(it.minutes)
}
val timePicker = builder.build()
timePicker.apply {
// 設(shè)置事件監(jiān)聽器(當(dāng)用戶選擇日期時觸發(fā))
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) {
// 創(chuàng)建 Material 日歷選擇器實例
val builder = MaterialDatePicker.Builder.datePicker()
//設(shè)置默認選擇數(shù)據(jù)
startDate?.let {
builder.setSelection(it.time)
}
// 構(gòu)建 Material 日歷選擇器
val materialDatePicker = builder.build()
materialDatePicker.apply {
// 設(shè)置事件監(jiān)聽器(當(dāng)用戶選擇日期時觸發(fā))
addOnPositiveButtonClickListener {
val date = Date(it)
//todo 選擇時間后的操作
}
}
materialDatePicker.show(supportFragmentManager, "DATE_PICKER_TAG")
}擴展:
Android TextView自動縮放能夠完整顯示出一行
app開發(fā)中,需要TextView可以在不同的屏幕大小要完整顯示出文字,而不是顯示省略號
可以使用以下代碼,讓TextView字體實現(xiàn)自適應(yīng)(不過具體算法已經(jīng)實現(xiàn)了,我們只需要設(shè)置下即可實現(xiàn)效果)
//設(shè)置最大行數(shù)為1行(在xml中設(shè)置也可) tvPhotoRecovery.maxLines = 1 TextViewCompat.setAutoSizeTextTypeWithDefaults(tvPhotoRecovery, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM) //設(shè)置字體大小范圍為12sp-22sp TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(tvPhotoRecovery, 12, 22, 1, TypedValue.COMPLEX_UNIT_SP)
setAutoSizeTextTypeUniformWithConfiguration方法的4個參數(shù)說明:
setAutoSizeTextTypeUniformWithConfiguration( TextView textView, int autoSizeMinTextSize, //字體最小數(shù)值 int autoSizeMaxTextSize, //字體最大數(shù)值 int autoSizeStepGranularity,//自動適應(yīng)的步長(簡單理解就是在最小和最大范圍之間,從最小數(shù)值遞增步長[n]來計算最符合的字體大小) int unit //字體單位,sp就可以 )
到此這篇關(guān)于Android Material組件庫(日期選擇和時間選擇器)基本使用的文章就介紹到這了,更多相關(guān)Android Material組件庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android關(guān)于SeekBar無法點擊到最大值問題解決方法記錄(推薦)
這篇文章主要介紹了Android關(guān)于SeekBar無法點擊到最大值問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Android利用ViewDragHelper輕松實現(xiàn)拼圖游戲的示例
本篇文章主要介紹了Android利用ViewDragHelper輕松實現(xiàn)拼圖游戲的示例,非常具有實用價值,需要的朋友可以參考下2017-11-11
Android開發(fā)必知 九種對話框的實現(xiàn)方法
App中少不了與用戶交互的各種dialog,以此達到很好的用戶體驗,下面給大家介紹Android開發(fā)必知 九種對話框的實現(xiàn)方法,有需要的朋友可以參考下2015-08-08
Android實現(xiàn)上拉加載更多以及下拉刷新功能(ListView)
這篇文章主要介紹了Android實現(xiàn)上拉加載更多功能以及下拉刷新功能的相關(guān)資料,需要的朋友可以參考下2016-01-01
Android 應(yīng)用的歡迎界面實現(xiàn)代碼
本文主要介紹Android 應(yīng)用歡迎界面的開發(fā),這里提供實現(xiàn)方法和實現(xiàn)代碼以供大家參考,有需要的朋友可以參考下2016-07-07

