相关问题
如何自定义 web 组件里网页文本的长按菜单
3365浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何自定义Navigation组件中的菜单栏?
1298浏览 • 1回复 待解决
如何在Text组件关闭bindSelection自定义菜单时,取消选中状态
2411浏览 • 1回复 待解决
HarmonyOS webview 自定义菜单如何拿到选中的文字
826浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用@Builder自定义菜单内容
1198浏览 • 1回复 待解决
Harmony OS 文本自定义菜单的划线功能
830浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过bindMenu属性绑定自定义菜单
1021浏览 • 1回复 待解决
HarmonyOS 自定义组件如何写自定义事件?
2031浏览 • 1回复 待解决
HarmonyOS 文本怎么自定义识别高亮显示和自定义点击事件显示菜单/气泡?
1483浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中实现自定义菜单样式?
1747浏览 • 1回复 待解决
HarmonyOS 自定义UI组件如何自定义属性方法
2101浏览 • 1回复 待解决
HarmonyOS 定义自定义组件
1432浏览 • 1回复 待解决
如何自定义模拟Tabs组件
2039浏览 • 1回复 待解决
ArkTs如何自定义容器组件?
4437浏览 • 1回复 待解决
HarmonyOS 自定义了一个组件,如何自定义事件?使其能在父组件使用其自定义事件
1132浏览 • 1回复 待解决
HarmonyOS 如何自定义 ArkUI Select(下拉菜单)的布局和样式?
3561浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何为自定义组件实现自定义布局?
1224浏览 • 1回复 待解决
HarmonyOS 长按桌面图标,能否自定义弹出菜单?
1604浏览 • 1回复 待解决
HarmonyOS 如何自定义toast组件
1224浏览 • 1回复 待解决
自定义组件如何导出、引入?
3569浏览 • 1回复 待解决
HarmonyOS 如何自定义布局组件
1108浏览 • 1回复 待解决
自定义组件嵌套子组件
10859浏览 • 3回复 待解决
HarmonyOS webview 自定义菜单如果对标原生的坐标点?
811浏览 • 1回复 待解决
HarmonyOS 自定义StepperView组件如何实现
1141浏览 • 1回复 待解决
js 自定义组件如何传递方法?
7132浏览 • 2回复 待解决
本文自定义一个圆形菜单,这个菜单栏的每个Item环形排布。
使用的核心API
核心代码解释
先定义组件CustomLayout,再通过onMeasure与onLayout对菜单项进行尺寸丈量和布局,我们先看看丈量尺寸的代码具体如下
代码比较简单,就是先获取父布局的最大尺寸,然后测量每个菜单项的尺寸。尺寸获取后就是到了布局这一步了,这也是整个圆形菜单的核心。具体代码如下。
onLayout函数看起来稍微复杂,但它的含义就是将所有子项按照圆弧的形式布局。整个圆为360°,如果每个子项占用的角度为60°,第一个就是0~60,第二个就是60°~120°,以此类推将所有的子项按照圆形布局。
实现效果