HarmonyOS ArkTS Tab使用方法(十五)

一,使用方法

Android中Java代码使用fragment进行Tab切换,下面使用HarmonyOS ArkTS 语言实现Tab的使用,代码如下:

/** Copyright (c) 2022 Huawei Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**     http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/import CommonConstants from '../common/constants/CommonConstants';
import Home from "../view/Home"
import Setting from "../view/Setting"/*** Main page*/
@Entry
@Component
struct MainPage {@State currentIndex: number = CommonConstants.HOME_TAB_INDEX;private tabsController: TabsController = new TabsController();@Builder TabBuilder(title: string, index: number, selectedImg: Resource, normalImg: Resource) {Column() {Image(this.currentIndex === index ? selectedImg : normalImg).width($r('app.float.mainPage_baseTab_size')).height($r('app.float.mainPage_baseTab_size'))Text(title).margin({ top: $r('app.float.mainPage_baseTab_top') }).fontSize($r('app.float.main_tab_fontSize')).fontColor(this.currentIndex === index ? $r('app.color.mainPage_selected') : $r('app.color.mainPage_normal'))}.justifyContent(FlexAlign.Center).height($r('app.float.mainPage_barHeight')).width(CommonConstants.FULL_PARENT).onClick(() => {this.currentIndex = index;this.tabsController.changeIndex(this.currentIndex);})}build() {Tabs({barPosition: BarPosition.End,controller: this.tabsController}) {TabContent() {//需要切换的tab,自己定义}.padding({ left: $r('app.float.mainPage_padding'), right: $r('app.float.mainPage_padding') }).backgroundColor($r('app.color.mainPage_backgroundColor')).tabBar(this.TabBuilder(CommonConstants.HOME_TITLE, CommonConstants.HOME_TAB_INDEX,$r('app.media.home_selected'), $r('app.media.home_normal')))TabContent() {//需要切换的tab,自己定义}.padding({ left: $r('app.float.mainPage_padding'), right: $r('app.float.mainPage_padding') }).backgroundColor($r('app.color.mainPage_backgroundColor')).tabBar(this.TabBuilder(CommonConstants.MINE_TITLE, CommonConstants.MINE_TAB_INDEX,$r('app.media.mine_selected'), $r('app.media.mine_normal')))}.width(CommonConstants.FULL_PARENT).backgroundColor(Color.White).barHeight($r('app.float.mainPage_barHeight')).barMode(BarMode.Fixed).onChange((index: number) => {this.currentIndex = index;})}
}

二、效果图如下

在这里插入图片描述

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

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

相关文章

(4)Linux的Redirect 重定向以及打包与压缩

💭 写在前面 本章仍然是继续对Linux 常用指令进行介绍,将讲解重定向、时间相关的指令、文件查找和打包压缩等指令。我们将初次理解 "Linux下一切皆文件"这一概念,我将通过一个有趣的故事去讲解它。 初识重定向(Redire…

如何在本地Docker中部署MinIO服务并实现远程访问管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…

CSS选择器用法,pyquery解析必备

选择器示例示例说明.class.intro选择所有class"intro"的元素#id#firstname选择所有id"firstname"的元素**选择所有元素elementp选择所有元素element,elementdiv,p选择所有 元素和 元素 element.classp.hometown选择所有 class“hometown” 的 元素element…

【MyBatis-Plus】多数据源分页配置(低版本暂时只能支持一种,高版本多支持)

低版本 3.0.7.1 MybatisPlusConfig 代码 package com.greatoo.config;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.core.injector.ISqlInjector; import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector; import co…

全国巡展“2024人工智能展·世亚智博会”3月上海·4月杭州·6月北京

近年来,我国积极布局人工智能产业,竞跑“未来赛道”。随着各行业、各领域对人工智能需求的日益增长,与实体经济深度融合的新模式不断涌现,形成了具有中国特色的研发体系和应用生态,引领着经济社会各领域从数字化、网络…

web前端项目-影视网站开发

影视网站 本项目主要使用到了 HTML&#xff1b;CSS&#xff1b;JavaScript脚本技术&#xff1b;AJAX无刷新技术&#xff1b;jQuery等技术实现了动态影视网页 运行效果&#xff1a; 一&#xff1a;index.html <!DOCTYPE> <html lang"en"> <head>…

python采集电影数据JS逆向, 并制作可视化

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 环境使用&#xff1a; Python 3.10 Pycharm nodejs 模块使用&#xff1a; requests -> pip install requests execjs -> pip install pyexecjs json …

6.如何做项目技术选型

目录 概述怎样做技术选型通讯协议选型编程语言选型数据库选型项目选型消息队列-RocketMQapi网关限流算法计数器算法滑动窗口算法漏桶限流算法熔断熔断器三态变化滑动窗口项目工程搭建

Node.js中npm中ws的WebSocket协议的实现

在Node.js中&#xff0c;ws是一个非常有用的模块&#xff0c;它提供了WebSocket协议的实现。WebSocket协议是一种在Web浏览器和服务器之间进行双向通信的协议&#xff0c;它可以使得Web应用程序更加交互式和实时。在本文中&#xff0c;我们将详细介绍npm中ws的内容。 ws是什么…

linux应用卡死(anr)并行堆栈dump方法

linux应用卡死&#xff08;anr&#xff09;并行堆栈dump方法 注意&#xff1a;不要杀进程&#xff0c;保持进程在运行 1、使用top或ps获取进程pid 2、使用gdb附加进程 gdb attach pid&#xff08;进程号&#xff09;3、保存堆栈到指定文件 set logging file xxx.txt(文件路径…

电流源输出的是直流电还是交流电(高精度电流源)

电流源是一种能够提供电流输出的电子设备&#xff0c;它可以产生直流电流或交流电流&#xff0c;具体取决于其设计和应用的需要。 首先&#xff0c;我们来讨论电流源输出直流电的情况。直流电是指电流的方向始终保持不变的电流形式。在一些特定的应用中&#xff0c;需要稳定的、…

【uniapp小程序-wesocket的使用】

创建一个Scoket.js class webSocketClass {constructor(url, time) {this.url urlthis.data nullthis.isCreate false // WebSocket 是否创建成功this.isConnect false // 是否已经连接this.isInitiative false // 是否主动断开this.timeoutNumber time // 心跳检测间隔…

gcc下printf输出内容有百分号(%)

最近学pwn的时候遇到一个很诡异的地方&#xff0c;之前也有但是没有管&#xff0c;今天要看一看了 #include <stdio.h> #include <stdlib.h> #include <unistd.h> char sh[]"/bin/sh"; int init_func(){setvbuf(stdin,0,2,0);setvbuf(stdout,0,2,…

【全志T113-i】OK113i-S开发板-适配10寸LCD显示

前言 本文介绍如何在OK113i-S开发板上适配一个自己的10寸LCD。 OK113i-S 是一个优秀的开发板&#xff0c;支持lvds 单8&#xff0c;双8显示&#xff0c;最大分辨率1280x800 也支持RG666显示&#xff0c;由于我手头只有lvds 单8&#xff0c;40pin的显示器&#xff0c;今天我就…

在Springboot项目中使用Quartz执行定时任务

所使用的jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency>使用默认单机模式。单机模式中&#xff0c;Job 和Trigger是存放在内存中Map&#xff0c;通过源…

设计模式—装饰模式

与其明天开始&#xff0c;不如现在行动&#xff01; 文章目录 装饰模式—穿衣服&#x1f48e;总结 装饰模式—穿衣服 装饰模式&#xff08;Decorator&#xff09;可以动态的给对象添加一些额外的职责。 Component是定义一个对象接口&#xff0c;可以给这些对象动态地添加职责。…

C语言 typedef 和 #define 区别

typedef 和 #define 区别 typedef 仅限于数据类型&#xff0c;而不能是表达式或具体的值 #define 发生在预处理&#xff0c;typedef 发生在编译阶段 使用 typedef 给 函数指针类型 取别名 //语法&#xff1a; typedef int (*FuncPtr)(int, int);#include <stdio.h>typed…

Flutter ios 使用ListView 。滚动时 AppBar 改变颜色问题

在Ios 中 列表滚动条向下滚动一段距离后 会导致 AppBar 颜色改变 可以给 AppBar 或者 AppBarTheme。 scrolledUnderElevation: 0.0 属性 全局&#xff1a; MaterialApp(theme: ThemeData(appBarTheme: AppBarTheme(scrolledUnderElevation: 0.0)) ) 局部&#xff1a; App…

代码随想录算法训练营第二十天 |654.最大二叉树 、 617.合并二叉树 、700.二叉搜索树中的搜索 、 98.验证二叉搜索树

今天学习内容&#xff1a;654.最大二叉树 、 617.合并二叉树 、700.二叉搜索树中的搜索 、 98.验证二叉搜索树 讲解&#xff1a;代码随想录 654.最大二叉树 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 最大二叉树的构建过程如上&#xff0c;图…

STM32----HAL库函数

1.STM32系统框架 1.1 Cortex-M内核&芯片 1.2 F1系统框架 4个主动单元4个被动单元 AHB&#xff1a;高级高性能总线 APH&#xff1a;高级外围总线 其中 1 为 主动单元 &#xff0c; 2为被动单元 总线时钟频率&…