【HarmonyOS】鸿蒙 borderRadius 百分比计算
这段代码定义了一个 ArkUI 的页面组件Page32
。在这个组件中,主要实现了以下功能:
状态变量:使用
@State
装饰器定义了一个私有状态变量_viewWidth
,用于存储视图(可能是Text
组件或其父容器Column
)的宽度。这个变量初始化为 0,后续会根据onAreaChange
事件的回调来更新。方法:定义了一个私有方法
getPercentOfWidth
,它接受一个百分比(percent
)作为参数,并返回基于当前视图宽度(_viewWidth
)计算出的绝对宽度值。这个方法用于动态计算边框半径(borderRadius
)的值,使其能够根据视图的宽度动态调整。UI 构建:
使用Column
布局作为页面的主体容器,它占据了整个页面的高度和宽度(100%
)。
在Column
内部,添加了一个Text
组件,显示文本“哈哈”。这个Text
组件具有固定的宽度(200)和高度(200),文本居中对齐,背景色为粉色,并且有一个根据视图宽度动态计算的边框半径。
Text
组件的onAreaChange
事件监听器用于捕获组件大小的变化。当组件的宽度发生变化时,它会更新_viewWidth
状态变量的值。这个变化随后会被getPercentOfWidth
方法利用,以动态调整borderRadius
的值。
动态样式:通过
getPercentOfWidth
方法和onAreaChange
事件的结合,实现了Text
组件边框半径的动态调整。这意味着当页面布局或组件大小发生变化时,Text
组件的边框半径会相应地根据宽度的百分比进行调整。
复制代码
评论