两学一做晋中市网站赣州网站建设机构

张小明 2026/1/10 7:28:34
两学一做晋中市网站,赣州网站建设机构,wordpress 下载,韶关网站开发前言 设置页面是应用中用户自定义偏好的重要入口。它通常包含账号安全、通知设置、隐私设置、关于我们等功能模块。本文将详细介绍如何在Flutter和OpenHarmony平台上实现一个功能完善的设置页面组件#xff0c;包括开关控件、列表项、版本信息等常见元素。 设置页面的设计需要…前言设置页面是应用中用户自定义偏好的重要入口。它通常包含账号安全、通知设置、隐私设置、关于我们等功能模块。本文将详细介绍如何在Flutter和OpenHarmony平台上实现一个功能完善的设置页面组件包括开关控件、列表项、版本信息等常见元素。设置页面的设计需要清晰的分组、直观的控件、以及即时的反馈。用户应该能够快速找到并修改所需的设置项。Flutter设置页面实现设置项数据结构定义不同类型的设置项。classProfileSettingsWidgetextendsStatefulWidget{constProfileSettingsWidget({super.key});overrideStateProfileSettingsWidgetcreateState()_ProfileSettingsWidgetState();}class_ProfileSettingsWidgetStateextendsStateProfileSettingsWidget{bool _notificationEnabledtrue;bool _darkModeEnabledfalse;overrideWidgetbuild(BuildContextcontext){returnContainer(margin:constEdgeInsets.symmetric(horizontal:16),decoration:BoxDecoration(color:Colors.white,borderRadius:BorderRadius.circular(12),boxShadow:[BoxShadow(color:Colors.black.withOpacity(0.05),blurRadius:5)],),使用StatefulWidget管理开关状态。_notificationEnabled和_darkModeEnabled分别控制通知和深色模式的开关状态。开关类型设置项实现带开关控件的设置项。child:Column(children:[SwitchListTile(title:constText(消息通知,style:TextStyle(fontSize:14)),subtitle:Text(接收新消息和活动提醒,style:TextStyle(fontSize:12,color:Colors.grey[500])),value:_notificationEnabled,onChanged:(value)setState(()_notificationEnabledvalue),activeColor:constColor(0xFF8B4513),secondary:Icon(Icons.notifications_outlined,color:Colors.grey[600]),),Divider(height:1,indent:56,color:Colors.grey[200]),SwitchListTile(title:constText(深色模式,style:TextStyle(fontSize:14)),subtitle:Text(切换应用显示主题,style:TextStyle(fontSize:12,color:Colors.grey[500])),value:_darkModeEnabled,onChanged:(value)setState(()_darkModeEnabledvalue),activeColor:constColor(0xFF8B4513),secondary:Icon(Icons.dark_mode_outlined,color:Colors.grey[600]),),SwitchListTile是Flutter提供的带开关的列表项组件。activeColor设置开关激活时的颜色。secondary放置左侧图标。onChanged回调在开关状态变化时触发。普通列表项实现点击跳转类型的设置项。Divider(height:1,indent:56,color:Colors.grey[200]),ListTile(leading:Icon(Icons.lock_outline,color:Colors.grey[600]),title:constText(账号安全,style:TextStyle(fontSize:14)),trailing:constIcon(Icons.chevron_right,color:Colors.grey),onTap:(){},),Divider(height:1,indent:56,color:Colors.grey[200]),ListTile(leading:Icon(Icons.help_outline,color:Colors.grey[600]),title:constText(帮助与反馈,style:TextStyle(fontSize:14)),trailing:constIcon(Icons.chevron_right,color:Colors.grey),onTap:(){},),Divider(height:1,indent:56,color:Colors.grey[200]),ListTile(leading:Icon(Icons.info_outline,color:Colors.grey[600]),title:constText(关于我们,style:TextStyle(fontSize:14)),trailing:Row(mainAxisSize:MainAxisSize.min,children:[Text(v1.0.0,style:TextStyle(fontSize:12,color:Colors.grey[500])),constSizedBox(width:4),constIcon(Icons.chevron_right,color:Colors.grey),],),onTap:(){},),],),);}}ListTile用于普通的点击跳转项。trailing可以放置版本号等附加信息。Row配合mainAxisSize.min使内容紧凑排列。OpenHarmony鸿蒙实现组件状态定义鸿蒙平台使用State管理开关状态。Componentstruct ProfileSettingsComponent{StatenotificationEnabled:booleantrueStatedarkModeEnabled:booleanfalseState装饰器使变量成为响应式数据变化时自动更新UI。开关设置项实现带Toggle开关的设置项。build(){Column(){Row(){Image($r(app.media.notification)).width(22).height(22).fillColor(#666666)Column(){Text(消息通知).fontSize(14).fontColor(#333333)Text(接收新消息和活动提醒).fontSize(12).fontColor(#999999).margin({top:2})}.layoutWeight(1).alignItems(HorizontalAlign.Start).margin({left:12})Toggle({type:ToggleType.Switch,isOn:this.notificationEnabled}).selectedColor(#8B4513).onChange((isOn:boolean){this.notificationEnabledisOn})}.width(100%).padding(16)Divider().color(#EEEEEE).margin({left:50})Toggle组件是鸿蒙的开关控件type设为Switch显示开关样式。selectedColor设置激活时的颜色。onChange回调处理状态变化。普通设置项与版本信息实现点击跳转项和版本显示。Row(){Image($r(app.media.lock)).width(22).height(22).fillColor(#666666)Text(账号安全).fontSize(14).fontColor(#333333).layoutWeight(1).margin({left:12})Image($r(app.media.arrow_right)).width(16).height(16).fillColor(#CCCCCC)}.width(100%).padding(16).onClick((){router.pushUrl({url:pages/AccountSecurity})})Divider().color(#EEEEEE).margin({left:50})Row(){Image($r(app.media.info)).width(22).height(22).fillColor(#666666)Text(关于我们).fontSize(14).fontColor(#333333).layoutWeight(1).margin({left:12})Text(v1.0.0).fontSize(12).fontColor(#999999).margin({right:4})Image($r(app.media.arrow_right)).width(16).height(16).fillColor(#CCCCCC)}.width(100%).padding(16).onClick((){router.pushUrl({url:pages/About})})}.width(90%).backgroundColor(Color.White).borderRadius(12)}}版本号显示在箭头左侧。router.pushUrl实现页面跳转。设置持久化实际项目中设置项的值需要持久化存储。Flutter可以使用SharedPreferences鸿蒙可以使用Preferences API。在组件初始化时读取存储的值在值变化时保存到存储中。总结本文介绍了Flutter和OpenHarmony平台上设置页面组件的实现方法。设置页面虽然功能简单但涉及多种控件类型和状态管理是学习UI开发的好素材。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

怎么用织梦做网站中国建设银行官网站大同

Python包管理革命:在AI工作流中如何选择pip与uv 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 深夜11点,AI开发者小王还在为ComfyUI-Manager的依赖安装问题而烦恼。他刚刚更新了项目&#xff…

张小明 2026/1/9 17:41:01 网站建设

怎么用手机做一个网站淄博住房和城乡建设厅网站

在当今快节奏的数字生活中,你是否经常需要重复点击手机屏幕?无论是跳过烦人的视频广告、每日应用签到,还是游戏中的重复任务,这些机械性操作不仅浪费时间,还会让手指感到疲惫。今天我要向大家推荐一款开源的GKD安卓自动…

张小明 2026/1/8 5:35:42 网站建设

无锡外贸网站制作公司网站建设扌首选金手指

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①平面生成Delaunay2D注意事项,…

张小明 2026/1/7 14:14:54 网站建设

网页网站怎么做的吗wordpress重新定向

第一章 系统整体方案规划 本系统以STM32F103C8T6单片机为控制核心,融合FM调频接收、音频功率放大、频率调节与显示功能,旨在实现一款便携式FM收音机,满足日常音频收听需求,适用于家庭、户外等场景。核心目标是通过TEA5767 FM收音模…

张小明 2026/1/7 14:59:01 网站建设

网站建设的相关职位网站的统计代码

第一章:Open-AutoGLM实战指南(从零搭建高精度比价机器人)环境准备与依赖安装 在开始构建比价机器人前,需确保本地开发环境已配置Python 3.9及pip包管理工具。Open-AutoGLM目前可通过PyPI直接安装,执行以下命令&#xf…

张小明 2026/1/8 4:53:25 网站建设

自学编程网站免费拓者室内设计吧官网

行业背景在光伏行业硅片制程中,高洁净度的化学清洗线是关键环节。某光伏材料工厂拥有一条老式清洗线,其核心控制器为西门子S7-315-2DP PLC(仅带MPI/DP口),通过MPI总线连接西门子KTP700 Basic 触摸屏进行本地操作与监控…

张小明 2026/1/9 13:32:10 网站建设