快速实现鸿蒙侧边栏显示与隐藏

文章目录

  • 前言
  • 侧边栏组件使用
  • 快速搞定侧边栏
  • 总结
一、前言

有好多文章要分享,但是来不及,就把最近觉得比较重要的组件分享下。最近因为在完善玩android的一个app,我的这个app叫玩鸿蒙,过段时间就开源了,敬请期待。

今天就分享,我在WanHarmony中用到的这个组件。先不多说,看下效果,老读者都知道我在维护一个组件使用的项目,所以我今天的这个组件使用,也会放到那个项目中,能快速的上手。

话不多说,看效果。

展开效果:
在这里插入图片描述

收缩效果:
在这里插入图片描述
上边的效果是在WanHarmony项目中已经实现的效果,如果你也想实现,那么你要把握这个关键组件。只要会使用这个组件,就能写出上面的效果。至于上面的效果,等我把WanHarmony开源就可以查看。

二、侧边栏使用
组件是SideBarContainer
   Column(){SideBarContainer(SideBarContainerType.Embed) { //侧边栏和内容并列显示,Overlay是侧边栏浮在内容上面//侧边栏的布局 (也就是左半边布局)Column(){ForEach(this.arr, (item, index)=>{Column({space:5}){Image(this.current === index ? this.selectedIcon : this.normalIcon).width(64).height(64)Text('index0' + item).fontSize(25).fontColor(this.current === index ?  '#0A59F7' : '#999')}.onClick(()=>{this.current = index})}, item => item)}.width('100%').margin({top: 90}).backgroundColor(Color.Red).justifyContent(FlexAlign.SpaceEvenly)//右边 内容的布局  (右边半边的布局)List(){ForEach(this.arr,(item, index)=>{ListItem(){Text(item + '文本').height(50)}}, (item)=>item)}.margin({top: 90}).height('100%')}.controlButton({//控制侧边栏显示隐藏的按钮icons:{hidden: $r('app.media.ic_broadside_close'),shown:$r('app.media.ic_broadside_default'),switching: $r('app.media.ic_broadside_close')},width:32,height:32}).sideBarWidth(150).minSideBarWidth(50).maxSideBarWidth('100%').onChange((value)=>{ //侧边栏是否显示的值console.log('当前的值:' + value)}).backgroundColor(Color.Green)}.margin({top: -40})
三、快速搞定侧边栏

从上面注释基本就能知道这个组件的使用了,自己再撸一把就掌握了。
这里罗列下SideBarContainer的要点:
1、里面放两个布局,一个作为左半部分用,一个作为右半边部分用。
2、controlButton 这个是侧边栏切换的按钮,可以设置按钮图片和大小
3、sideBarWidth 这个是设定侧边栏(左边部分)的宽度,也就是左半边的大小。
4、如果想让左边部分滚动,那么里面就放List组件就可以了。

在这里插入图片描述

最后呢,将我整理的这个组件放到这个项目中,后面有新增,也会一并上传。开发中,某些api忘记了,可以重新拿出来看看。

最后献上我的个人v,专属终身顾问,解答关于鸿蒙相关的东西,包括项目中的问题,还有最新的技术点,快速开发,抢在前头。 hmssz1

技术迭代很快,不要在一个问题上拔不出来,找到专业的人,快速的解决,作为程序员时间是最宝贵的,不要自己蒙头苦干,等你搞懂了,这个技术已经过时了。

以上代码地址:https://github.com/shenshizhong/ViewUseDemo
找到这个类 SlideBarContainerTestPage.ets

总结

1、SideBarContainer 的使用
2、给定好左边部分 和右边部分的布局
3、设置好左半边大小 和右半天大小

如果对你有一点点帮助,那是值得高兴的事情。:)
我的csdn:http://blog.csdn.net/shenshizhong
我的简书:http://www.jianshu.com/u/345daf0211ad

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

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

相关文章

免费开源的 Vue 拖拽组件 VueDraggablePlus (兼容移动端)

VueDraggablePlus 支持 Vue2 / Vue3,是被尤雨溪推荐了的拖拽组件。我自己试用过了,还挺好用的,兼容移动端。 官网:https://alfred-skyblue.github.io/vue-draggable-plus/ 官网文档里面很详细了,我就不再介绍安装和用…

Google colab中如何从kaggle中接入数据?

写在前面 使用google colab进行数据分析和探索时,可引用的数据源包括但不限于:1.可上传的数据文件用本地加载的的方式打开数据资源;2.从网络链接中直接打开后加载到缓存中的文件资源;3.通过API或者外部的开放接口加载数据&#x…

【日本語】N2考试湖北报名笔记

阅读资料 视频:JLPT报名技巧 使用浏览器调试模式快速报名; 1 报名流程 【考场选择】 1.1 春季报名:03-19 07:00:00 1.2 预习网站登录信息 1.3 登录验证码:06:55 (图片来自视频《教日语的阿飞老师 - 担心能力考抢…

微信小程序选择器picker的使用(省市区)

index.wxml picker中的 moderegion模式&#xff0c;这里同element中的select不同的是&#xff0c;不需要自己在绑定数据原&#xff0c;默认就包含了省市区的整体数据 <view class"section"><view class"section__title">省市区选择器</vie…

【源码阅读】Mybatis底层源码分析(详细Debug查看附代码)

一、搭建测试代码框架 &#xff08;代码已提交到github->测试代码&#xff0c;建议结合代码根据本文debug一遍更有利于理解&#xff0c;帮忙点个Star 哈&#xff0c;本人在这里谢谢了&#xff09; 二、猜想Mybatis是如何设计的 从上面的案例中&#xff0c;可以大致可以猜测…

酷开科技以酷开系统的力量让电视机“活”起来

让用户回归电视的绝不会是因为电视机本身&#xff0c;而是电视系统的内容和交互的形式。酷开科技以系统的力量让电视机“活”起来。对于许多人来说&#xff0c;观看电影是一种享受、一种放松、一种逃避现实的方式。而现在&#xff0c;酷开科技作为行业内领军企业&#xff0c;为…

YOLOV5 部署:QT的可视化界面推理(创建UI,并编译成py文件)

1、前言 之前用YOLOV5 做了一个猫和老鼠的实战检测项目,本章将根据之前训练好的权重进行部署,搭建一个基于QT的可视化推理界面,可以检测图片和视频 本章使用的数据集和权重参照:YOLOV5 初体验:简单猫和老鼠数据集模型训练-CSDN博客 可视化界面如下: 2、安装Pyside6 本…

JSONP漏洞详解

目录 同源策略 JSONP简介 JSONP劫持漏洞 漏洞原理 漏洞利用过程 利用工具 JSONP漏洞挖掘思路 JSONP防御 首先&#xff0c;要了解一下什么是同源策略&#xff1f; 同源策略 同源策略&#xff08;SOP&#xff09;是浏览器的一个安全基石&#xff0c;浏览器为了保证数据…

碳课堂|什么是碳减排?如何减少碳排放?

一、碳减排的定义及提出背景&#xff1a; 碳减排&#xff0c;即减少人类在生产、生活中二氧化碳&#xff08;CO2&#xff09;等温室气体的排放量&#xff0c;以应对全球气候变暖。 18世纪工业革命起&#xff0c;人类在生产活动中使用大量矿物燃料&#xff08;如煤、石油等&am…

从电子邮件到即时通讯:信息技术演变与现代沟通方式的变迁

上世纪90年代&#xff0c;欧美企业界迎来了信息化建设的大爆发时期。Oracle、SAP和Adobe等国际知名软件巨头纷纷致力于推广和普及电子邮件系统&#xff0c;使电子邮件迅速成为企业和个人进行信息交换的主要工具之一。电子邮件的出现&#xff0c;也提供了一种高效的信息传递手段…

zookeeper集群安装部署和集群异常处理

准备jdk和zookeeper安装包【官网即可下载】 zookeeper-3.5.1-alpha.tar.gz jdk1.7.0_8020200612.tar 准备三台linux虚拟机【具体以项目实际需要为准】&#xff0c;并安装jdk和zookeeper 虚拟机地址如下&#xff1a;194.1.1.86&#xff08;server.1&#xff09;、194.1.1.74…

阿里云-云服务器ECS新手如何建网站?

租阿里云服务器一年要多少钱&#xff1f; 不同类型的服务器有不同的价格。 以ECS计算型c5为例&#xff1a;2核4G-1年518.40元&#xff0c;4核8G-1年948.00元。 阿里云ECS云服务器租赁价格由三部分组成&#xff1a; 也就是说&#xff0c;云服务器配置成本磁盘价格网络宽带价格…

本地部署Grok需要的条件

2024年3月18日凌晨三点钟&#xff0c;马斯克开源了Grok&#xff0c;兑现了他承诺&#xff0c;Grok 的开源将为人工智能技术的发展和应用带来新的机遇&#xff0c;那我们如何运行、部署Grok呢。 本地部署Grok通常需要以下条件&#xff1a; 硬件资源&#xff1a; 大量的计算资源&…

【JAVA笔记】IDEA配置本地Maven

文章目录 1 配置本地Maven1.1 Maven下载1.2 Maven安装与配置1.2.1 安装1.2.2 配置1.2.2.1 环境配置1.2.2.2 本地仓库配置 2 IDEA设置本地Maven 1 配置本地Maven 1.1 Maven下载 官网&#xff1a;http://maven.apache.org/下载地址&#xff1a;http://maven.apache.org/downloa…

浏览器如何查看http请求的报文?

HTTP协议用于从WWW服务器传输超文本到本地浏览器的传送协议。 它可以使浏览器更加高效&#xff0c;使网络传输减少。 它不仅保证计算机正确快速地传输超文本文档&#xff0c;还确定传输文档中的哪一部分&#xff0c;以及哪部分内容首先显示 (如文本先于图形)等。所以在node.js里…

Vertex cover preprocessing for influence maximization algorithms

Abstract 影响力最大化问题是社交网络分析中的一个基本问题&#xff0c;其目的是选择一小组节点作为种子集&#xff0c;并在特定的传播模型下最大化通过种子集传播的影响力。本文研究了独立级联模型下影响力最大化算法中执行顶点覆盖作为预处理的效果。所提出的方法从主要计算过…

结构体成员访问操作符

1.结构体成员的直接访问&#xff1a; 结构体变量.成员名&#xff1a; 2.结构体成员的间接访问: 间接访问应用于指向结构体变量的指针&#xff1a;如下

代码随想录算法训练营第九天|28. 实现 strStr()、459.重复的子字符串、字符串总结、双指针回顾

题目&#xff1a;28. 实现 strStr() 文章链接&#xff1a;代码随想录 视频链接&#xff1a;LeetCode:实现strStr 题目链接&#xff1a;力扣题目链接 详解&#xff1a;KMP&#xff1a;主要应用于字符串匹配&#xff0c;当出现字符串不匹配是&#xff0c;可以知道一部分之前已…

YOLOv8独家改进:block改进 | RepViTBlock和C2f进行结合实现二次创新 | CVPR2024清华RepViT

💡💡💡本文独家改进:CVPR2024 清华提出RepViT:轻量级新主干!从ViT角度重新审视移动CNN,RepViTBlock和C2f进行结合实现二次创新 改进结构图如下: 收录 YOLOv8原创自研 https://blog.csdn.net/m0_63774211/category_12511737.html?spm=1001.2014.3001.5482 💡…

数字化时代的风向标:解密Facebook的成功秘诀

在当今数字化时代&#xff0c;社交媒体已经成为人们日常生活中不可或缺的一部分&#xff0c;而Facebook作为全球最大的社交媒体平台之一&#xff0c;其成功之处不言而喻。本文将深入探讨Facebook的成功秘诀&#xff0c;解密其在数字化时代的风向标。 用户体验至上&#xff1a; …