当前位置:网站首页>自学HarmonyOS应用开发(47)- 自定义switch组件
自学HarmonyOS应用开发(47)- 自定义switch组件
2022-07-30 00:34:00 【51CTO】
HarmonyOS应用开发都会用到各种各样的UI组件,开发者可以根据需求在布局文件设定UI组件各种属性。但是需求是多种多样
例如可以以如下方式使用switch组件:
这段代码的显示效果如下:

有效状态时的表示只能说差强人意,相关文档中倒是提供了使用代码定制switch组件的方法,但是每次使用,每个组件都这样处理的话还是太麻烦了。本文介绍定制switch组件的方法。
定义自定义组件类
我们定义一个switch组件的派生类,通过这个类封装我们需要的定制处理:
这是ColorSwitch类的完整代码,读者直接复制粘贴之后可以在自己的开发中使用。
代码中借用了华为官方文档中的用法,对switch组件的表示颜色进行修改;定义了一个自定义switch_radius,用于指定组件两侧的圆弧大小。
我们将这个文件放置在如下图所示的位置:

在布局中使用自定义组件
以下是在布局文件中使用ColorSwitch的示例。请注意这不是完整代码。
注意16行导入ColorSwitch的记法和25行使用自定义属性的方法。以下是程序执行时的效果:

参考资料
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-java-overview-0000000000500404
作者著作介绍
《实战Python设计模式》是作者去年3月份出版的技术书籍,该书利用Python 的标准GUI 工具包tkinter,通过可执行的示例对23 个设计模式逐个进行说明。这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。

对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。
觉得本文有帮助?请分享给更多人。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发,面向对象思考!

边栏推荐
猜你喜欢

4 hotspot inquiry networks necessary for new media operations

【集训DAY18】有趣的交换【模拟】【数学】

Music theory & guitar skills

转发和重定向的区别及使用场景

Worthington用于细胞收获的胰蛋白酶&细胞释放程序

Navicat for mysql破解版安装

How many ways does Selenium upload files?I don't believe you have me

CNN的粗浅理解

【Flutter】Flutter inspector 工具使用详解,查看Flutter布局,widget树,调试界面等

Detailed explanation of nacos cluster configuration
随机推荐
重建二叉树
Low dropout linear regulator MPQ2013A-AEC1 brand MPS domestic replacement
Minimum number to rotate array
消息中间件解析 | 如何正确理解软件应用系统中关于系统通信的那些事?
@RequestParam注解的详细介绍
How Filebeat ensures that the log file is still correctly read when the log file is split (or rolled)
遇到bug的解决办法,测试再也不背锅了
机器人的运动范围
转发和重定向的区别及使用场景
One article to answer web performance optimization
The solution to the bug, the test will no longer be blamed
Linux - install MySQL (detailed tutorial)
自学HarmonyOS应用开发(49)- 引入地图功能
【集训DAY16】KC ‘ s Stars【dfs】
Weekly recommended short video: What is R&D efficiency?It can achieve anti "involution"?
【励志】科比精神
“ 我是一名阿里在职9年软件测试工程师,我的经历也许能帮到处于迷茫期的你 ”
[Training DAY16] ALFA [convex hull] [computational geometry]
Introduction to Worthington Elastase & Hyaluronidase
中文语义匹配