鸿蒙开发:ArkUI Toggle 组件

ArkUI提供了一套完整的UI开发工具集,帮助开发者高效完成页面的开发。它融合了语言、编译器、图形构建等关键的应用UI开发底座,为应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能以及实时界面预览工具等,可以支持开发者进行可视化界面开发。今天分享toggle组件技术知识,如果有所帮助,可以给个点赞关注,也可以联系我一起学习!

基本概念

在 ArkTS(假设用于 HarmonyOS 开发等相关场景)中,Toggle是一个用于实现开关功能的组件。它通常以一个可切换的按钮形式呈现,用户可以通过点击或触摸来改变其状态,比如打开或关闭某个功能、选项等。

常用属性

checked:

功能:这是一个布尔类型的属性,用于表示Toggle组件的当前状态。当checked为true时,表示开关处于打开状态;当checked为false时,表示开关处于关闭状态。

示例代码:

@Entry
@Component
struct ToggleExample {@State checked: boolean = false;build() {Toggle({checked: this.checked}) {// 可以添加文本等内容来描述开关功能Text("功能开关")}}
}

在这个例子中,Toggle组件的初始状态是关闭的,因为@State变量checked被初始化为false。

text:

功能:用于设置Toggle组件旁边显示的文字内容,帮助用户理解开关所控制的功能。

示例代码:

Toggle({text: "开启夜间模式"}) {
}

这里Toggle组件旁边会显示 “开启夜间模式” 的文字,用户可以清楚地知道这个开关的作用是控制夜间模式的开启或关闭。

textUnchecked:

功能:textChecked用于设置当Toggle处于打开状态(checked为true)时显示的文字,textUnchecked用于设置当Toggle处于关闭状态(checked为false)时显示的文字。这样可以提供更明确的状态指示。

示例代码:

Toggle({textChecked: "已开启",textUnchecked: "未开启"
}) {
}

当Toggle打开时,旁边会显示 “已开启”;当Toggle关闭时,旁边会显示 “未开启”。

事件处理

onChange 事件:

功能:当Toggle的状态发生改变(即用户点击切换开关)时,onChange事件会被触发。这个事件通常用于根据Toggle的新状态来执行相应的逻辑,比如更新应用的设置、改变界面的显示效果等。

示例代码:

@Entry
@Component
struct ToggleWithOnChangeExample {@State checked: boolean = false;build() {Toggle({checked: this.checked,onChange: (isChecked: boolean) => {this.checked = isChecked;if (isChecked) {// 执行开启功能相关的逻辑,如切换到夜间模式界面} else {// 执行关闭功能相关的逻辑,如切换回日间模式界面}}}) {Text("切换夜间模式")}}
}

在这个例子中,当Toggle的状态改变时,onChange事件会更新checked状态变量,并根据新的状态执行相应的逻辑来切换夜间模式或日间模式。

应用场景

  • 功能设置:在应用的设置界面中,Toggle可以用于控制各种功能的开启和关闭,如通知提醒、自动更新、Wi - Fi 连接等功能。

  • 界面模式切换:用于切换不同的界面模式,如日间模式和夜间模式、普通视图和简洁视图等,方便用户根据自己的喜好和使用场景进行选择。

  • 数据筛选:在数据列表展示中,可以使用Toggle来控制某些筛选条件的启用和停用,例如是否显示已完成的任务、是否只显示特定类型的文件等。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF —— 网络安全大赛

前言 💻随着大数据、人工智能的发展,人们步入了新的时代,逐渐走上科技的巅峰。 ⚔科技是一把双刃剑,网络安全不容忽视,人们的隐私在大数据面前暴露无遗,账户被盗、资金损失、网络诈骗、隐私泄露&#xff…

数据分析-43-时间序列预测之深度学习方法GRU

文章目录 1 时间序列1.1 时间序列特点1.1.1 原始信号1.1.2 趋势1.1.3 季节性和周期性1.1.4 噪声1.2 时间序列预测方法1.2.1 统计方法1.2.2 机器学习方法1.2.3 深度学习方法2 GRU2.1 模拟数据2.2 数据归一化2.3 生成滞后特征2.4 切分训练集和测试集2.5 模型训练2.6 模型预测3 参…

aosp15系统窗口闪屏原生bug-dim图层相关-你会修改吗?

背景 近期各个大厂已经开始准备aosp15的系统rom适配工作了,应该是想2025年初开发发布相关的新机型,所以慢慢的我们也要开始适应aosp15版本的相关问题的修改和研究哈。 近期就有相关学员朋友在做android15相关的dialog开发时候,发现了一个严…

[论文阅读]Enhanced Membership Inference Attacks against Machine Learning Models

Enhanced Membership Inference Attacks against Machine Learning Models 针对机器学习模型的增强型成员推理攻击 Enhanced Membership Inference Attacks against Machine Learning Models | Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communication…

【架构论文-2】架构设计中存在的问题和改进方向

一、性能优化相关 当前情况 在高负载情况下,系统的响应时间出现了一定程度的延迟。特别是在业务高峰期,大量并发请求导致部分关键业务模块的处理效率降低,影响了用户体验。改进方向 计划引入性能分析工具对系统进行全面的性能剖析&#xff0…

嵌入式硬件电子电路设计(三)电源电路之负电源

引言:在对信号线性度放大要求非常高的应用需要使用双电源运放,比如高精度测量仪器、仪表等;那么就需要给双电源运放提供正负电源。 目录 负电源电路原理 负电源的作用 如何产生负电源 负电源能作功吗? 地的理解 负电压产生电路 BUCK电…

GB/T 28046.4-2011 道路车辆 电气及电子设备的环境条件和试验 第4部分:气候负荷(6)

写在前面 本系列文章主要讲解道路车辆电气及电子设备的环境条件和试验GB/T 28046标准的相关知识,希望能帮助更多的同学认识和了解GB/T 28046标准。 若有相关问题,欢迎评论沟通,共同进步。(*^▽^*) 第4部分:气候负荷 5. 试验和要求 5.8 流动混合气体腐蚀试验 5.8.1 目的…

QT中 update()函数无法实时调用 paintEvent

QT中 update()函数无法实时调用 paintEvent! 在QT中,update()函数用于标记一个窗口区域为“需要重绘”。当调用update()后,QT会在合适的时候调用paintEvent()来重绘这个区域。然而,update()不会立即调用paintEvent(),…

测试概念以及测试bug

关于测试的概念 什么是需求? 需求分为用户需求和软件需求。 软件需求可以作为开发和测试工作的依据,而用户需求不一定是合理的,这里的不合理有很多的角度:技术角度上,市场需求上,投入成本和收益比噔噔。…

Jenkins配置步骤

安装 Jenkins 1. 安装 Java Jenkins 需要 Java 运行环境。你可以安装 OpenJDK 或 Oracle JDK。 使用 OpenJDK: sudo apt update sudo apt install openjdk-11-jdk验证 Java 安装: java -version2. 安装 Jenkins 添加 Jenkins 仓库: wget -q -O - https://pkg.jenkins.io…

【图论】图的C++实现代码

在这个例程中我们用类实现了节点、&#xff08;无向图&#xff09;连边、无向图&#xff0c;实现了节点度的计算、无向图聚类系数计算、度分布统计、无向图的Dijkstra算法&#xff08;已知起止点计算最短路的算法&#xff09; #include <iostream> #include<vector&g…

Java:二维数组

目录 1. 二维数组的基础格式 1.1 二维数组变量的创建 —— 3种形式 1.2 二维数组的初始化 \1 动态初始化 \2 静态初始化 2. 二维数组的大小 和 内存分配 3. 二维数组的不规则初始化 4. 遍历二维数组 4.1 for循环 ​编辑 4.2 for-each循环 5. 二维数组 与 方法 5.1…

Code::Blocks 24.10 全中文优化完整版

Code::Blocks&#xff08;或者叫做 CodeBlocks&#xff09;是一款开放源代码、跨平台的集成开发环境&#xff08;IDE&#xff09;&#xff0c;通过配置不同的编程语言编译器&#xff0c;可以用于多种编程语言程序开发。 网上有很多文章介绍 Code::Blocks 的安装&#xff0c;通…

分组校验在Spring中的应用详解

目录 前言1. 什么是分组校验2. 分组校验的基本原理3. 分组校验的实现步骤3.1 定义分组接口3.2 在校验项中指定分组3.3 校验时指定要校验的分组3.4 默认分组和分组的继承 4. 分组校验的优势和适用场景4.1 优势4.2 适用场景 5. 常见问题与解决方案5.1 校验未生效5.2 无法识别默认…

优化前端开发中的提示语设计基本原则

文章目录 一致1、同一对象&#xff0c;指称一致2、同一状态&#xff0c;描述一致3、同一行为&#xff0c;提示一致 简洁1、用词简短 条理1、上下呼应2、主次分明 亲和1、化“难”为易2、“礼”字当先3、正向表达 灵动1、用词多变2、远离平淡 契合1、身份契合2、产品契合 示例1、…

C++知识点总结(56):数学专题

数学专题 一、进制转换类1. 模板1.1 十转 x x x1.2 x x x 转十 2. 例题 二、公式推导类1. 一元二次方程解2. 例题2.1 【模板】怪物同笼2.2 K K K 的倍数 三、枚举例题1. 二次方程2. 【模板】立方体体积3. 街头篮球 一、进制转换类 1. 模板 1.1 十转 x x x while(n){num[…

【C++滑动窗口】1297. 子串的最大出现次数|1748

本文涉及的基础知识点 C算法&#xff1a;滑动窗口及双指针总结 固定长度滑动窗口 LeetCode1297. 子串的最大出现次数 给你一个字符串 s &#xff0c;请你返回满足以下条件且出现次数最大的 任意 子串的出现次数&#xff1a; 子串中不同字母的数目必须小于等于 maxLetters 。…

【C++练习】使用海伦公式计算三角形面积

编写并调试一个计算三角形面积的程序 要求&#xff1a; 使用海伦公式&#xff08;Herons Formula&#xff09;来计算三角形的面积。程序需要从用户那里输入三角形的三边长&#xff08;实数类型&#xff09;。输出计算得到的三角形面积&#xff0c;结果保留默认精度。提示用户…

Python使用PDF相关组件案例详解

主要对pdfminer.six、pdfplumber、PyMuPDF、PyPDF2、PyPDF4、pdf2image、camelot-py七个PDF相关组件分别详解&#xff0c;具体使用案例演示 1. pdfminer.six pdfminer.six 是一个专门用来从 PDF 中提取文本的库&#xff0c;能够处理复杂的文本布局&#xff0c;适合用于文本解析…

计算机网络:网络层 —— 移动 IP 技术

文章目录 移动性对因特网应用的影响移动 IP 相关基本概念移动IP技术的基本工作原理代理发现与注册固定主机向移动主机发送IP数据报移动主机向固定主机发送IP数据报同址转交地址方式三角形路由问题 移动性对因特网应用的影响 我们列举如下三个应用场景说明移动性对因特网应用的…