当前位置: 首页 > 科技观察

OpenHarmonyJSUI小系统自定义控件之一——Tab页面容器

时间:2023-03-16 16:05:33 科技观察

更多内容请访问:鸿蒙技术社区,与华为官方共建https://ost.51cto。com1.目标使用小系统支持的基本控件实现标签页容器。2.背景OpenHarmony标准系统有一个tabs容器。在标准系统中,标签页是一种常见的界面导航。通过标签容器,用户可以快速访问应用的不同模块,但是在小系统中并没有提供标签页容器,目前的需求是在L1设备上实现一个类似标签页容器的功能。3、环境设备:君正x2000开发板。系统:OpenHarmony3.0.0.0(LTS)。4.效果(1)视频效果为小型设备定制标签效果。(二)效果截图五、实现思路从效果图中可以看出,tab容器包括:可切换的菜单。可切换的内容容器。分析:在小系统支持的基础容器中,可以通过基础容器(div)+文本容器(text)的组合实现菜单;可切换的内容容器可以通过滑动容器(swiper)实现;当点击菜单容器的点击事件结合滑动容器切换时的回调事件change事件,可以实现自定义标签页容器。备注:如果对上面提到的容器API不熟悉,可以参考以下内容:swiperAPI测试API6.完整代码说明:该组件的代码包括三部分:html,css,js,因为代码比较简单,所以就不写注释了,有不懂的地方可以留言。设置

测试/*tabsView.css*/.container{显示:弹性;弹性方向:列;对齐项目:居中;宽度:100%;高度:100%;背景颜色:橙色;}.title{字体大小:76px;文本对齐:居中;宽度:100%;height:100px;}.tabs-title{width:100%;高度:80px;弹性方向:行;证明内容:居中;align-items:center;/*border-width:1px;*//*border-color:red;*//*border-style:solid;*/}.tabs-item{width:49%;高度:80px;背景颜色:橙色;}.tabs-item-line{宽度:0.5%;高度:80px;背景颜色:白色;}.tabs-item-menu{显示:柔性;弹性方向:列;对齐项目:居中;宽度:100%;高度:80px;}.tabs-menu-text{颜色:白色;字体大小:35fp;高度:75px;}.tabs-menu-line-white{宽度:100%;高度:5px;背景颜色:白色;}.tabs-menu-line-orange{宽度:100%;高度:5px;背景颜色:橙色;}.tabs-content-line{宽度:100%;高度:0.2%;背景颜色:橙色;}.tabs-content{宽度:100%;高度:100%;左边距:0.75%;margin-right:0.75%;}.swiper-item{width:100%;高度:100%;证明内容:居中;align-items:center;}.primary-item{background-color:#785698;}.warning-item{background-color:#ff7500;}.img{宽度:100%;height:100%;}//tabsView.jsexportdefault{data:{menuSettingStyle:true,menuTestStyle:false,index:0},onInit(){},/***选择设置菜单*/onSelectSetting(){this.菜单设置样式=t后悔;this.menuTestStyle=假;这个.index=0;},/***选择测试菜单*/onSelectTest(){this.menuSettingStyle=false;this.menuTestStyle=真;这个.index=1;},/***滑动组件页面变化*/onSelectChange(num){this.index=num.index;console.log("更改curIndex:"+this.index);开关(this.index){案例0:{这个。menuSettingStyle=true;this.menuTestStyle=假;休息;}案例1:{this.menuSettingStyle=false;this.menuTestStyle=真;休息;默认值:中断;}}}更多内容请访问:与华为官方共建的鸿蒙技术社区https://ost.51cto.com