91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Jetpack?Compose選擇器怎么使用

發布時間:2023-04-17 10:43:38 來源:億速云 閱讀:167 作者:iii 欄目:開發技術

這篇“Jetpack Compose選擇器怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Jetpack Compose選擇器怎么使用”文章吧。

    選擇器是啥

    選擇器主要是指Checkbox復選框,單選開關Switch,滑桿組件Slider等用于提供給用戶選擇一些值和程序交互的組件,比如像復選框Checkbox,可以讓用戶選擇一個或者多個選項,它可以將一個選項打開或者是關閉,通常用來做線上調查問卷或者是模擬考試的場景程序中,再比如滑桿組件可以用來作為調節音量和亮度的數值調整,或者是做進度條。

    實例解析

    1.Checkbox復選框

    Checkbox允許用戶從一個集合中選擇一個或者多個選項,而且它可以將一個選項打開或者是關閉,下列是Checkbox的參數列表

    @Composable
    fun Checkbox(
        checked: Boolean, // 是否被選中
        onCheckedChange: ((Boolean) -> Unit)?, // 當復選框被點擊時的回調
        modifier: Modifier = Modifier,
        enabled: Boolean = true, // 是否啟用復選框
        interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
        colors: CheckboxColors = CheckboxDefaults.colors() // 復選框的演示組
    )

    我們可以通過下面的代碼了解Checkbox的使用方法

      @Composable
        fun CheckBoxDemo()
        {
            val checkedState = remember {
                mutableStateOf(true)
            }
            Checkbox(checked = checkedState.value, onCheckedChange = {
                checkedState.value = it
            },
            colors = CheckboxDefaults.colors(checkedColor = Color(0xFF0079D3)))
        }

    運行結果:

    Jetpack?Compose選擇器怎么使用

    2.TriStateCheckbox三狀態選擇框

    當我們的復選框有很多個的時候,往往希望能夠統一選擇或者時取消,這種場景下我們就可以使用TriStateCheckbox ,代碼如下:

        @Composable
        fun TriStateCheckBoxDemo()
        {
            val(state,onStateChange) = remember {
                mutableStateOf(true)
            }
            val(state2,onStateChange2) = remember {
                mutableStateOf(true)
            }
            val parentState = remember(state, state2) {
                if(state && state2) ToggleableState.On
                else if(!state && !state2) ToggleableState.Off
                else ToggleableState.Indeterminate
            }
            val onParentClick = {
                val s = parentState != ToggleableState.On
                onStateChange(s)
                onStateChange2(s)
            }
            Column(modifier = Modifier.padding(10.dp,0.dp,0.dp,0.dp)) {
                TriStateCheckbox(state = parentState, onClick = onParentClick,
                    colors = CheckboxDefaults.colors(checkedColor = MaterialTheme.colors.primary)
                )
                Checkbox(checked = state, onCheckedChange = onStateChange)
                Checkbox(checked = state2, onCheckedChange = onStateChange2)
            }
        }

    運行結果如下。

    Jetpack?Compose選擇器怎么使用

    Jetpack?Compose選擇器怎么使用

    Jetpack?Compose選擇器怎么使用

    當復選框全選中時,TriStateCheckbox顯示已完成的狀態,而如果只有部分復選框被選中時,TriStateCheckbox則顯示不確定狀態,當我們在這個時候點擊它時,則會將剩余沒有選中的復選框設置為選中狀態,當我們去掉所有選中狀態時,TriStateCheckbox的狀態也被置成了未選中的狀態。

    3.Switch單選開關

    Switch組件可以控制單個項關閉或者是開啟,參數列表如下

    @Composable
    @OptIn(ExperimentalMaterialApi::class)
    fun Switch(
        checked: Boolean, // 開關的狀態
        onCheckedChange: ((Boolean) -> Unit)?, 點擊開關的回調,會獲得最新的開關狀態
        modifier: Modifier = Modifier,
        enabled: Boolean = true, // 是否啟用
        interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
        colors: SwitchColors = SwitchDefaults.colors() // 開關組的顏色。
    )

    Switch組件的使用也特別簡單,代碼如下:

      @Composable
        fun SwitchDemo()
        {
            val checkedState = remember {
                mutableStateOf(true)
            }
            Switch(checked = checkedState.value, onCheckedChange = {
                checkedState.value = it
            })
        }

    運行結果:

    Jetpack?Compose選擇器怎么使用

    4.Slider滑桿組件

    slider組件類似于傳統視圖的SeekBar,可以用來做音量,亮度之類的數值調整或者是進度條,我們先看看它的參數列表

    @Composable
    fun Slider(
        value: Float, // 進度值
        onValueChange: (Float) -> Unit, // 進度改變的監聽
        modifier: Modifier = Modifier, // 修飾符
        enabled: Boolean = true,
        valueRange: ClosedFloatingPointRange<Float> = 0f..1f, // 進度值的范圍默認是0到1
        /*@IntRange(from = 0)*/
        steps: Int = 0,
        onValueChangeFinished: (() -> Unit)? = null,
        interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
        colors: SliderColors = SliderDefaults.colors() // 滑桿顏色設置,默認值是SliderDefaults.colors
    )

    其中,colors參數是用于設置滑桿各部位的顏色。滑桿組件中可設置顏色的區域很多,例如滑桿小圓球的顏色,滑桿進度條顏色,滑桿底色等,step參數將進度條平分為(step+1) 段,比如當分成兩段時,進度條在第一段之間拉動,超過第一段的一半就自動到第一段,沒超過就退回到原來的位置,Sliderbar的使用代碼如下。

        @Composable
        fun SliderDemo()
        {
            var sliderPosition by remember {
                mutableStateOf(0f)
            }
            Text(text = "%.1f".format(sliderPosition*100) + "%")
            Slider(value = sliderPosition, onValueChange = {sliderPosition = it})
        }

    運行結果如下

    Jetpack?Compose選擇器怎么使用

    以上就是關于“Jetpack Compose選擇器怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    莒南县| 吉安县| 来安县| 钟山县| 龙州县| 莒南县| 普陀区| 泰来县| 安西县| 澄城县| 庐江县| 健康| 武鸣县| 沁源县| 松潘县| 全椒县| 宜良县| 满洲里市| 尼玛县| 吉林市| 浏阳市| 合江县| 印江| 牙克石市| 尤溪县| 蕉岭县| 新邵县| 昭觉县| 平乐县| 乐昌市| 庐江县| 嘉义市| 图木舒克市| 华坪县| 灌阳县| 灯塔市| 平安县| 西峡县| 晋城| 金沙县| 新郑市|