栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

开发台组件转换——滑动选择器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

开发台组件转换——滑动选择器

开发台组件转换——滑动选择器

准备工作一、设定时间/温度

操作示例转换规则

xml文件:kt文件: 二、设定模式

操作示例转换规则

xml文件:kt文件:

准备工作
    在项目的com/kaida/myapplication下新建widget目录,将NumberPickerView.java文件移至widget目录下将styles.xml和attrs.xml移至res/values下,
一、设定时间/温度 操作示例

开发台新建滑动选择器,配置 绑定数据项功能 为 设定时间"SetTime" (设定温度"SetTemp"类似),如下图

此时开发台配置参数如下:

                    {
                        "control": {
                            "binding_picker_fun": "SetTime",
                            "binding_picker_val": "",
                            "columns": "0;10;20;30;40;50;60;70",
                            "showItemCount": 3,
                            "defaultIndex": 1,
                            "roundBack": true,
                            "font": "ASCLL-6-12",
                            "slidingInertia": false
                        },
                        "uuid": "oPc4s3mhm",
                        "events": {},
                        "iconName": "wk-icon-widget-picker",
                        "style": {
                            "color": "#000000",
                            "itemHight": 43,
                            "height": 130,
                            "width": 150,
                            "top": 0,
                            "rotate": 0,
                            "left": 0
                        },
                        "name": "",
                        "ID": 0,
                        "areaState": false,
                        "isLock": false,
                        "title": "滑动选择器",
                        "component": "brick-picker"
                    }
转换规则 xml文件:

需要在该对应页面的xml布局文件下增加该组件,代码如下:

    

其中 id 根据配置文件中该滑动选择器组件的 uuid 命名,例如widget_picker_cucvij124

kt文件:

在该页面的fragment.kt中,onViewCreated方法内,with(binding){ }代码段内,增加如下代码:

            
            widgetPickerSetTime.let {
//                val textList = resources.getStringArray(R.array.model);   //从xml文件中读取字符串数组
                val textList = listOf("5", "10", "15", "20", "25", "30", "35", "40").toTypedArray() //模式名称数组

                it.refreshByNewDisplayedValues(textList)    //设置显示内容:字符串数组
                it.value = 3    //设置初始值索引号:int
                it.setOnValueChangedListener { picker, oldVal, newVal ->
                    run {
                        Log.d(TAG, "newVal = $newVal, text = ${textList[newVal]}")
                        vm.setTime(textList[newVal].toInt())    //设定时间
//                        vm.setTemp(textList[newVal].toInt())    //设定温度
                    }
                }
            }

转换规则下图所示,结合注释文字:

二、设定模式 操作示例

开发台新建滑动选择器,配置 绑定数据项功能 为 设定模式 ,并填写 对应功能值 ,如下图:

此时配置属性如下:

                    {
                        "style": {
                            "color": "#000000",
                            "itemHight": 43,
                            "height": 130,
                            "width": 150,
                            "top": 0,
                            "rotate": 0,
                            "left": 0
                        },
                        "component": "brick-picker",
                        "iconName": "wk-icon-widget-picker",
                        "areaState": false,
                        "control": {
                            "binding_picker_fun": "SetModel",
                            "defaultIndex": 1,
                            "columns": "普通蒸;高温蒸;加湿烤;风扇烤;烘焙烤",
                            "showItemCount": 3,
                            "binding_picker_val": "1;2;2;6;7",
                            "roundBack": true,
                            "font": "ASCLL-6-12",
                            "slidingInertia": false
                        },
                        "name": "",
                        "ID": 0,
                        "events": {},
                        "isLock": false,
                        "title": "滑动选择器",
                        "uuid": "oPc4s3mhm"
                    }
转换规则 xml文件:

同上

kt文件:

在该页面的fragment.kt中,onViewCreated方法内,with(binding){ }代码段内,增加如下代码:

            
            widgetPickerTest.let {
//                val textList = resources.getStringArray(R.array.model);   //从xml文件中读取字符串数组
                val textList = listOf("普通蒸", "高温蒸", "加湿烤", "风扇烤", "烘焙烤").toTypedArray() //模式名称数组
                val valueList = listOf(1, 2, 2, 6, 7)  //模式值数组,与上方的模式名称数组一一对应
                it.refreshByNewDisplayedValues(textList)    //设置显示内容:字符串数组
                it.value = 3    //设置初始值索引号:int
                it.setOnValueChangedListener { picker, oldVal, newVal ->
                    run {
                        Log.d(TAG, "new val = $newVal, and text = ${textList[newVal]}")
                        vm.setModel(valueList[newVal])
                    }
                }
            }

转换规则下图所示:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774415.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号