当前位置:网站首页>自学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 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。
觉得本文有帮助?请分享给更多人。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发,面向对象思考!
边栏推荐
- Win11的WSL2系统更换磁盘和wsl使用简介
- 【微服务~Nacos】Nacos之配置中心
- 验证框架-01
- 自学HarmonyOS应用开发(49)- 引入地图功能
- string replace spaces
- nacos集群配置详解
- 【集训DAY16】KC ‘ s Stars【dfs】
- Google Chrome (google) is set to translate Chinese, the translation option does not take effect or the translation option does not pop up
- 2022杭电多校第三场 Two Permutations (dp, 哈希)
- Laravel 预防 SQL 注入
猜你喜欢
测试员容易陷入的9大误区
月薪15k的阿里测试岗,面试原来这么简单
Nacos micro service ~ Nacos 】 【 configuration of the center
Mysql internal and external connections
从尾到头打印链表
Worthington经过使用测试的细胞分离系统方案
Worthington Dissociation Enzymes: Trypsin and Frequently Asked Questions
Worthington解离酶:中性蛋白酶(分散酶)详情解析
Go日志库——logrus
Since the media how to write a short video title?Three hot style title, let your video gain more traffic
随机推荐
基于TNEWS‘ 今日头条中文新闻(短文本)分类
Internship in a group
Nacos micro service ~ Nacos 】 【 configuration of the center
中文语义匹配
vmtouch——Linux下的文件缓存管理神器
2022年ps应该选择哪个版本
字符串替换空格
新闻文本分类
STM32——OLED显示实验
Docker installs redis cluster (including deployment script)
Worthington Papain & Chymotrypsin & DNase I
测试员容易陷入的9大误区
[Best training DAY16] KC's Can [Dynamic programming]
CNN的粗浅理解
i.MX6U-driver development-3-new character driver
【mysql】Mysql公用表表达式with as
At the age of 29, I was fired from a functional test. Can't find a job after 2 months of interviews?
重建二叉树
Toutiao We-Media Operation: How to Gain 500+ Fans in Toutiao Today?
cp强制覆盖与不覆盖拷贝方法