Android?Material組件庫(kù)日期選擇和時(shí)間選擇器的使用方法
Android Material組件庫(kù)日期選擇和時(shí)間選擇器的使用方法
簡(jiǎn)單的封裝下Material組件里的日期選擇器和時(shí)間選擇器的使用方法
效果
代碼
需要添加Material組件庫(kù)的依賴(lài)(不過(guò)后面新版本Android Studio創(chuàng)建的新項(xiàng)目都會(huì)有此依賴(lài)了...)
implementation 'com.google.android.material:material:1.4.0'
private fun showTimeDialog(startDate: Date? = null) { val builder = MaterialTimePicker.Builder() //設(shè)置時(shí)間格式為24小時(shí)制 builder.setTimeFormat(TimeFormat.CLOCK_24H) startDate?.let { builder.setHour(it.hours) builder.setMinute(it.minutes) } val timePicker = builder.build() timePicker.apply { // 設(shè)置事件監(jiān)聽(tīng)器(當(dāng)用戶(hù)選擇日期時(shí)觸發(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 選擇時(shí)間后的操作 } } timePicker.show(supportFragmentManager, "DATE_PICKER_TAG") }
private fun showDateDialog(startDate: Date? = null) { // 創(chuàng)建 Material 日歷選擇器實(shí)例 val builder = MaterialDatePicker.Builder.datePicker() //設(shè)置默認(rèn)選擇數(shù)據(jù) startDate?.let { builder.setSelection(it.time) } // 構(gòu)建 Material 日歷選擇器 val materialDatePicker = builder.build() materialDatePicker.apply { // 設(shè)置事件監(jiān)聽(tīng)器(當(dāng)用戶(hù)選擇日期時(shí)觸發(fā)) addOnPositiveButtonClickListener { val date = Date(it) //todo 選擇時(shí)間后的操作 } } materialDatePicker.show(supportFragmentManager, "DATE_PICKER_TAG") }
擴(kuò)展:
Android TextView自動(dòng)縮放能夠完整顯示出一行
app開(kāi)發(fā)中,需要TextView可以在不同的屏幕大小要完整顯示出文字,而不是顯示省略號(hào)
可以使用以下代碼,讓TextView字體實(shí)現(xiàn)自適應(yīng)(不過(guò)具體算法已經(jīng)實(shí)現(xiàn)了,我們只需要設(shè)置下即可實(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個(gè)參數(shù)說(shuō)明:
setAutoSizeTextTypeUniformWithConfiguration( TextView textView, int autoSizeMinTextSize, //字體最小數(shù)值 int autoSizeMaxTextSize, //字體最大數(shù)值 int autoSizeStepGranularity,//自動(dòng)適應(yīng)的步長(zhǎng)(簡(jiǎn)單理解就是在最小和最大范圍之間,從最小數(shù)值遞增步長(zhǎng)[n]來(lái)計(jì)算最符合的字體大小) int unit //字體單位,sp就可以 )
到此這篇關(guān)于Android Material組件庫(kù)(日期選擇和時(shí)間選擇器)基本使用的文章就介紹到這了,更多相關(guān)Android Material組件庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Android自定義Material進(jìn)度條效果
- Material Design系列之Behavior實(shí)現(xiàn)Android知乎首頁(yè)
- Android App仿QQ制作Material Design風(fēng)格沉浸式狀態(tài)欄
- Android Material設(shè)計(jì)中列表和卡片的創(chuàng)建方法解析
- 詳解Android Material設(shè)計(jì)中陰影效果的實(shí)現(xiàn)方法
- 詳解Android Material Design自定義動(dòng)畫(huà)的編寫(xiě)
- Android時(shí)間選擇器、日期選擇器實(shí)現(xiàn)代碼
相關(guān)文章
Android中View自定義組合控件的基本編寫(xiě)方法
這篇文章主要介紹了Android中View自定義組合控件的基本編寫(xiě)方法,可以在布局的時(shí)候更加隨意地繼承,需要的朋友可以參考下2016-04-04Android關(guān)于SeekBar無(wú)法點(diǎn)擊到最大值問(wèn)題解決方法記錄(推薦)
這篇文章主要介紹了Android關(guān)于SeekBar無(wú)法點(diǎn)擊到最大值問(wèn)題解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04android圖像繪制(三)畫(huà)布刷屏問(wèn)題記錄
在canvas中繪制動(dòng)態(tài)圖的時(shí)候,如果使用了一個(gè)固定的背景圖片,只有一個(gè)小小的精靈在移動(dòng)!這樣的情況下卻不得不在沒(méi)幀中重新繪制背景圖片,使得效率降低,本文章只是記錄一下,并不是解決方法感興趣的朋友可以了解下2013-01-01Android利用ViewDragHelper輕松實(shí)現(xiàn)拼圖游戲的示例
本篇文章主要介紹了Android利用ViewDragHelper輕松實(shí)現(xiàn)拼圖游戲的示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-11-11Android開(kāi)發(fā)必知 九種對(duì)話(huà)框的實(shí)現(xiàn)方法
App中少不了與用戶(hù)交互的各種dialog,以此達(dá)到很好的用戶(hù)體驗(yàn),下面給大家介紹Android開(kāi)發(fā)必知 九種對(duì)話(huà)框的實(shí)現(xiàn)方法,有需要的朋友可以參考下2015-08-08Android實(shí)現(xiàn)上拉加載更多以及下拉刷新功能(ListView)
這篇文章主要介紹了Android實(shí)現(xiàn)上拉加載更多功能以及下拉刷新功能的相關(guān)資料,需要的朋友可以參考下2016-01-01Android通話(huà)記錄備份實(shí)現(xiàn)代碼
其實(shí)就是解析文件,存入數(shù)據(jù)庫(kù);或者查詢(xún)數(shù)據(jù)庫(kù),存入文件而已,特分享下,方便需要的朋友2013-05-05Android 應(yīng)用的歡迎界面實(shí)現(xiàn)代碼
本文主要介紹Android 應(yīng)用歡迎界面的開(kāi)發(fā),這里提供實(shí)現(xiàn)方法和實(shí)現(xiàn)代碼以供大家參考,有需要的朋友可以參考下2016-07-07