欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android?Material組件庫(kù)日期選擇和時(shí)間選擇器的使用方法

 更新時(shí)間:2023年11月22日 10:37:40   作者:Stars-one  
這篇文章主要介紹了Android?Material組件庫(kù)(日期選擇和時(shí)間選擇器)基本使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

Android Material組件庫(kù)日期選擇和時(shí)間選擇器的使用方法

簡(jiǎn)單的封裝下Material組件里的日期選擇器和時(shí)間選擇器的使用方法

效果

代碼

需要添加Material組件庫(kù)的依賴(不過后面新版本Android Studio創(chuàng)建的新項(xiàng)目都會(huì)有此依賴了...)

 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)聽器(當(dāng)用戶選擇日期時(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)聽器(當(dāng)用戶選擇日期時(shí)觸發(fā))
        addOnPositiveButtonClickListener {
            val date = Date(it)
            //todo 選擇時(shí)間后的操作
        }
    }
    materialDatePicker.show(supportFragmentManager, "DATE_PICKER_TAG")
}

擴(kuò)展:

Android TextView自動(dòng)縮放能夠完整顯示出一行

app開發(fā)中,需要TextView可以在不同的屏幕大小要完整顯示出文字,而不是顯示省略號(hào)

可以使用以下代碼,讓TextView字體實(shí)現(xiàn)自適應(yīng)(不過具體算法已經(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ù)說明:

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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論