【每日学点HarmonyOS Next知识】tab对齐、相对布局、自定义弹窗全屏、动画集合、回到桌面

1、HarmonyOS Tabs 是否能支持 tabbar 居左对齐?

当前方案为自定义tabbar实现,示例demo:

@Entry
@Component
struct TabsExample {@State tabArray: Array<number> = [0, 1,2]@State focusIndex: number = 0@State pre: number = 0@State index: number = 0private controller: TabsController = new TabsController()@State test: boolean = false// 单独的页签@BuilderTab(tabName: string, tabItem: number, tabIndex: number) {Row({ space: 20 }) {Text(tabName).fontSize(18).fontColor(tabItem===this.focusIndex?Color.Red:Color.Black)}.justifyContent(FlexAlign.Center).constraintSize({ minWidth: 35 }).width(80).height(60).borderRadius({ topLeft: 10, topRight: 10 }).onClick(() => {this.controller.changeIndex(tabIndex)this.focusIndex = tabIndex})}build() {Column() {Column() {// 页签Row({ space: 7 }) {Scroll() {Row() {ForEach(this.tabArray, (item: number, index: number) => {this.Tab("页签 " + item, item, index)})}.justifyContent(FlexAlign.Start)}.align(Alignment.Start).scrollable(ScrollDirection.Horizontal).scrollBar(BarState.Off).width('90%')}.alignItems(VerticalAlign.Bottom).width('100%')}.alignItems(HorizontalAlign.Start).width('100%')//tabsTabs({ barPosition: BarPosition.Start, controller: this.controller }) {ForEach(this.tabArray, (item: number, index: number) => {TabContent() {Text('我是页面 ' + item + " 的内容").height(300).width('100%').fontSize(30)}.backgroundColor(Color.Pink)})}.width('100%').barHeight(0).animationDuration(100).onChange((index: number) => {console.log('foo change')this.focusIndex = index})}.height('100%')}
}
2、HarmonyOS RelativeContainer中alignRules的bias属性设置无效?

参考demo:

@Entry
@Component
struct Index {build() {Row() {RelativeContainer() {Row().width(100).height(100).backgroundColor("#FF3333").alignRules({top: {anchor: "__container__", align: VerticalAlign.Top},bottom : {anchor : "__container__", align : VerticalAlign.Bottom},left: {anchor: "__container__", align: HorizontalAlign.Start},right : {anchor : "__container__", align: HorizontalAlign.End},bias : {vertical : 0.3}}).id("row1")}.width(300).height(300).margin({left: 50}).border({width:2, color: "#6699FF"})}.height('100%')}
}
3、HarmonyOS 自定义弹框不能全屏?

参考demo:

@CustomDialog
export struct MyDialog1 {controller1: CustomDialogControllertitle: string = ''build() {Row() {Column({ space: 10 }) {Text(this.title).fontSize(25).fontColor(Color.Blue)Flex({ justifyContent: FlexAlign.SpaceAround }) {Button('取消').onClick(() => {this.controller1.close()}).backgroundColor(0xffffff).fontColor(Color.Black)Button('确认').onClick(() => {this.controller1.close()}).backgroundColor(0xffffff).fontColor(Color.Black)}.width('100%')}.width('100%').backgroundColor(Color.Gray).height('100%')}}
}
// main页面
@Entry
@Component
struct Index {@State dialogData: string = ''@State colorTest: Color = Color.BluedialogController1: CustomDialogController = new CustomDialogController({builder: MyDialog1({title: '弹窗1',}),// 弹窗容器样式是否自定义customStyle: true,offset: { dx: 0, dy: 0 },alignment: DialogAlignment.Top})confirm(data: string) {this.dialogData = dataconsole.info('ssss') // 获取弹窗输入的信息}build() {Row() {Column({ space: 10 }) {Text('这是一个弹窗的测试').fontSize(25).margin(20).fontColor(0x3399FF)Button('点击打开弹窗').onClick(() => {this.dialogController1.open()})}.width('100%')}.height('100%').backgroundColor(Color.White)}
}
4、HarmonyOS 如何实现动画集合?

组件A缩放&旋转动画1S后,再次缩放&旋转,再过4s再次缩放&旋转,再过1s缩放&旋转这4个为一个集合,这个集合一直执行。这种怎么实现。

使用关键帧动画可以实现keyframeAnimateTo参考demo:

import { UIContext } from '@ohos.ArkUI.UIContext';@Entry
@Component
struct Index {@State myScale: number = 1.0;uiContext: UIContext | undefined = undefined;aboutToAppear() {this.uiContext = this.getUIContext?.();}build() {Column() {Circle().width(100).height(100).fill("#46B1E3").margin(100).scale({ x: this.myScale, y: this.myScale })//设置x轴/y轴的缩放.onClick(() => {if (!this.uiContext) {console.info("no uiContext, keyframe failed");return;}this.myScale = 1;// 设置关键帧动画整体播放3次this.uiContext.keyframeAnimateTo({ iterations: 3 }, [{// 第一段关键帧动画时长为800ms,scale属性做从1到1.5的动画duration: 800,event: () => {this.myScale = 1.5;}},{// 第二段关键帧动画时长为500ms,scale属性做从1.5到1的动画duration: 500,event: () => {this.myScale = 1;}}]);})}.width('100%').margin({ top: 5 })}
}
5、HarmonyOS 回到桌面API咨询?

APP中有功能会引导用户回到桌面添加服务卡片,是否有API可以触发回到桌面。

窗口里有minimize方法,这个接口会通知ams窗口退后台,来实现app回到后台的效果 参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#minimize11
minimize(callback: AsyncCallback<void>): void
此接口根据调用对象不同,实现不同的功能:

  • 当调用对象为主窗口时,实现最小化功能,可在Dock栏中还原。

  • 当调用对象为子窗口时,实现隐藏功能,不可在Dock栏中还原,可以使用showWindow()进行还原。悬浮窗类型的窗口对象,调用此接口会报1300002错误码。

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

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

相关文章

Java8的新特性

1.Lambda表达式和函数式接口 Lambda的基础&#xff1a;函数式接口 Java 8与之前版本的区别&#xff1a; Java 7及之前&#xff1a;接口中只能包含抽象方法&#xff0c;无法通过函数式接口简洁地表示Lambda表达式。Java 8&#xff1a;通过FunctionalInterface注解&#xff0c;明…

数据库管理-第302期 国产类RAC架构数据库网络连接方式(20250314)

数据库管理302期 2025-03-14 数据库管理-第302期 国产类RAC架构数据库网络连接方式&#xff08;20250314&#xff09;1 Oracle RAC2 DMDSC3 YAC4 KES RAC总结 数据库管理-第302期 国产类RAC架构数据库网络连接方式&#xff08;20250314&#xff09; 作者&#xff1a;胖头鱼的鱼…

Spring框架详解(IOC容器-上)

IOC&#xff08; Inversion of Control&#xff0c;控制反转&#xff09;和DI&#xff08;dependency injection&#xff09;是Spring框架的核心特性&#xff0c;也是Spring框架的基础。 Spring框架作为一个IOC容器&#xff0c;负责加载、创建和管理Spring Bean。 接下来介绍…

架构学习第八周--Kubernetes博客搭建

目录 一、整体架构 二、部署MySQL主从 三、部署Redis哨兵 四、部署WordPress 五、注意事项 一、整体架构 本项目为在一主三从的Kubernetes集群上部署WordPress博客。因为WordPress部分容器版本自行集成Apache和PHP服务&#xff0c;因此在Kubernetes上部署WordPress只需提供…

【品铂科技】在高精度定位行业内的口碑怎么样?

1. ‌技术实力与行业认可‌ 公司自主研发的ABELL无线实时定位系统在复杂环境中&#xff08;如工业、司法监狱等&#xff09;展现出厘米级&#xff08;5-10厘米&#xff09;高精度定位能力&#xff0c;客户反馈系统稳定性强、抗干扰能力突出&#xff0c;成为行业技术标杆‌。参…

长度最小的子数组-滑动窗口解法

本来觉得自己双指针学的还可以了&#xff0c;于是今天直接刷了一道滑动窗口题&#xff0c;没想到还是被坑绊倒了两次。这次我想记录在博客里&#xff0c;不仅可以防止我以后重蹈覆辙&#xff0c;兴许也还可以帮助到其他人。 题目来自力扣&#xff1a;209. 长度最小的子数组 - …

深入理解Linux网络随笔(七):容器网络虚拟化--Veth设备对

深入理解Linux网络随笔&#xff08;七&#xff09;&#xff1a;容器网络虚拟化 微服务架构中服务被拆分成多个独立的容器&#xff0c;docker网络虚拟化的核心技术为&#xff1a;Veth设备对、Network Namespace、Bridg。 Veth设备对 veth设备是一种 成对 出现的虚拟网络接口&…

深入理解 Maven BOM 及其继承特性

深入理解 Maven BOM 及其继承特性 一、什么是 Maven BOM&#xff1f; Maven BOM&#xff08;Bill Of Materials&#xff0c;物料清单&#xff09;是一种特殊的 Maven 项目&#xff0c;用于集中管理依赖项的版本信息。BOM 项目本身并不包含实际的代码或资源&#xff0c;而仅仅…

C语言(25)

一.数据在内存中的存储 1.整数在内存中的存储 整数在内存中以二进制的形式储存&#xff0c;分别为原码&#xff0c;补码&#xff0c;反码 有符号的整数&#xff0c;在上述三种形式都有符号位和数值位两个部分&#xff0c;符号位为0是正数&#xff0c;1是负数&#xff0c;最高…

一篇博客搞定时间复杂度

时间复杂度 1、什么是时间复杂度&#xff1f;2、推导大O的规则3、时间复杂度的计算3.1 基础题 13.2 基础题 23.3基础题 33.4进阶题 13.5进阶题 23.6 偏难题 13.7偏难题 2&#xff08;递归&#xff09; 前言&#xff1a; 算法在编写成可执行程序后&#xff0c;运行时要耗费时间和…

探索 Trossen AI:从 Aloha到智能机器人平台的进化之路

在人工智能与机器人技术快速发展的当下&#xff0c;科研硬件的性能与成本成为影响行业创新的重要因素。Trossen Robotic为在机器人领域二十余年的知名企业&#xff0c;近日推出的 Trossen AI 系列产品&#xff0c;为科研机构与开发者提供了高性能、高性价比的解决方案。 Trosse…

【Power Platform系列】如何在画布应用中调用工作流上传附件

在Power Apps画布应用中上传附件&#xff0c;比如到SharePoint文档库最典型的方式非常简单&#xff0c;插入一个编辑窗体&#xff0c;将窗体和背后的文档库绑定起来即可以快速实现。不过窗体内部的显示格式很难控制&#xff0c;如果要实现更为灵活的控制&#xff0c;就需要采用…

工作记录 2017-01-12

序号 工作 相关人员 1 协助BPO进行Billing的工作。 处理Amazing Charts的数据查询。 修改BillingJobPoster&#xff0c;处理CCDA 的自动导入&#xff0c;预计还需一天才能完成。 修改录入Code的界面&#xff08;code 移动到指定位置&#xff09;&#xff0c;预计明天更新。…

在centOS Linux系统搭建自动化构建工具Jenkins

前言 在工作中发现公司使用Jenkins实现自动化部署项目方案&#xff0c;于是闲着自己也捣鼓一下&#xff0c;网上查阅相关部署资料&#xff0c;顺便记录操作步骤&#xff0c;所以有了下面这篇的文章。 部署完之后&#xff0c;安装前端项目所需环境&#xff0c;比如node环境&am…

开箱即用的whisper-service服务

安装须知 Whisper官方网址 https://github.com/openai/whisper Whisper 镜像站 https://docker.aityp.com/r/docker.io/onerahmet 本次提供的环境镜像为&#xff1a;docker.io/onerahmet/openai-whisper-asr-webservice:v1.6.0-gpu 运行环境要求 服务器架构 服务器架构要…

SpringCloud带你走进微服务的世界

认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打成一个…

【xv6操作系统】页表与写时拷贝解析及相关实验设计

【xv6操作系统】页表与写时拷贝解析及相关实验设计 页表页表概念xv6页表xv6 TLB实验1&#xff1a;加速系统调用实验2&#xff1a;打印三级页表实验3&#xff1a;检测已访问的页表 写时拷贝写时拷贝实验实现 页表 页表概念 deepseek说&#xff1a; 页表&#xff08;Page Table…

如何处理PHP中的编码问题

如何处理PHP中的编码问题 在PHP开发过程中&#xff0c;编码问题是一个常见且棘手的问题。无论是处理用户输入、数据库交互&#xff0c;还是与外部API通信&#xff0c;编码问题都可能导致数据乱码、解析错误甚至安全漏洞。本文将深入探讨PHP中的编码问题&#xff0c;并提供一些…

人工智能之数学基础:线性变换的象空间和零空间

本文重点 前面的课程中,我们学习了线性变换,由此而引申出线性变换的象空间和零空间,这两个空间在机器学习领域会被经常用到,本文对此进行学习。 直观理解 总的来说象空间就是经过线性变换得到的空间,零空间就是经过线性变换是零的元素构成的空间。 从几何角度来看,象空…

方案精读:IBM方法论-IT规划方法论

该文档聚焦 IT 规划方法论&#xff0c;适合企业高层管理者、IT 部门负责人、业务部门主管以及参与企业信息化建设的相关人员阅读。 &#xff08;本解读资料已包含在绑定资源内&#xff09; 主要内容围绕 IT 规划展开&#xff1a;首先明确 IT 规划需基于企业核心战略&#xff0…