当前位置:网站首页>自学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 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。
觉得本文有帮助?请分享给更多人。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发,面向对象思考!

边栏推荐
- 低压差线性稳压器MPQ2013A-AEC1品牌MPS国产替代
- 谷歌浏览器(google)设置翻译中文,翻译选项不生效或没有弹出翻译选项
- KDE Frameworks 5.20.0:Plasma迎来诸多改进
- 验证框架-01
- [Experience] Experience Summary - Lessons Learned
- Worthington's tried and tested cell isolation system protocols
- Navicat for mysql crack version installation
- 新闻文本分类
- Recurrent Neural Network (RNN)
- Navicat for mysql破解版安装
猜你喜欢

Worthington解离酶:胰蛋白酶及常见问题

Linux - install MySQL (detailed tutorial)

The go language (functions, closures, defer, panic/recover, recursion, structure, json serialization and deserialization)

微信开发者工具设置制表符大小为2

新闻文本分类

string replace spaces

Reconstruction of binary tree

Worthington解离酶:中性蛋白酶(分散酶)详情解析

KDE Frameworks 5.20.0: Plasma welcomes many improvements

更换可执行文件glibc版本的某一次挣扎
随机推荐
ZLMediaKit源码学习——UDP
Vmtouch - under Linux file cache management artifact
Since the media increase play a short video?From the three aspects
KDE Frameworks 5.20.0:Plasma迎来诸多改进
二维数组的查找
The range of motion of the robot
MySql的初识感悟,以及sql语句中的DDL和DML和DQL的基本语法
【Flutter】混合开发之Flutter预加载解决第一次加载页面缓慢问题
某团实习面经
He cell separation technology 丨 basic primary cell separation methods and materials
My first understanding of MySql, and the basic syntax of DDL and DML and DQL in sql statements
I.MX6U-驱动开发-3-新字符驱动
软考 --- 数据库(5)数据库控制
Navicat for mysql破解版安装
Navicat for mysql crack version installation
工厂模式
Go日志库——logrus
7.28
谷歌浏览器(google)设置翻译中文,翻译选项不生效或没有弹出翻译选项
what is a .pro file in qt