花粉乐分享平台宣传视频
> 华为资讯 > 华为资讯 > 鸿蒙编程 > 鸿蒙声明式UI框架(ArkUI)中组件样式的封装
鸿蒙声明式UI框架(ArkUI)中组件样式的封装
来源:带娃学编程1001
2022-12-01 13:42:42
553
管理

ArkUI是构建HarmonyOS应用界面的声明式UI开发框架,采用更接近自然语义的声明式范式语法,让开发者可以直观描述UI界面,无需关心框架如何实现UI绘制和渲染,实现极简高效开发。

在UI构建过程中,当我们加入一个组件后(如Text),要配置组件属性,如fontColor、fontSize、margin等,如果对所有组件均在其后面一一配置属性,则代码量会大大增加,代码也无法折叠,层次结构不太清晰。此时,我们可以定义一个函数,实现组件样式的封装和统一。下面以Text组件为例说明。

正常情况下:

Text('Hello') .fontColor(Color.Blue) .fontSize(50) .margin({top: 20, bottom: 20})Text('World') .fontColor(Color.Blue) .fontSize(50) .margin({top: 20, bottom: 20})

此时,我们可以定义一个函数如txtStyle( ),将配置属性的代码写在函数内:

@Extend(Text) function txtStyle() { .fontColor(Color.Blue) .fontSize(50) .margin({top: 20, bottom: 20})}

然后在组件中调用:

Text('Hello') .txtStyle()Text('World') .txtStyle()

这样,当有多个同类型组件需要同样的样式时,通过一行代码调用即可实现该类型组件样式的统一。

当然,我们还可以在函数中加入参数,实现差异化需求:

@Extend(Text) function txtStyle(color: Color, fontSize: number, topMargin: number, bottomMargin: number) { .fontColor(color) .fontSize(fontSize) .margin({top: topMargin, bottom: bottomMargin})}

组件调用时,根据需要代入不同实参:

Text('Hello') .txtStyle(Color.Red, 50, 20, 20)Text('World') .txtStyle(Color.Blue, 30, 40, 40)

这样,是不是很方便呢?

关注我,国人当努力,国货当自强!

花粉社群VIP加油站

3
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与花粉乐分享无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
凡本网注明 “来源:XXX(非花粉乐分享)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。
如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。
QQ:2443165046 邮箱:info@hflfx.com
关于作者
花粉cc(花粉渠道)
文章
514
主题
0
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行
随手拍
54个圈友 0个话题
华为手机随手拍,记录生活点滴之美好
华为P30pro
51个圈友 0个话题
这里是华为P30pro手机交流圈,欢迎华为P30pro用户进群交流
体验官
60个圈友 2个话题
华为花粉体验官,体验官专属的交流群
登录后查看您创建的圈子
登录后查看您创建的圈子
所有圈子
杭州互联网违法和不良信息举报平台 网络110报警服务 浙ICP备17046585号
3
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索