【Harmonyos】22-04-14 在 Java 中使用布局的属性
今天在写鸿蒙应用时遇到的一个问题,经过我的长时间认真思考,最终在华为的开发者论坛上找到了解决方案🤣🤣
事情的经过
在写鸿蒙应用时,因为要用到很多重重复复的布局,所以为了方便打算使用 Java 来代替 XML ,但是发现一个问题,居然有一些属性在 Java 中没有找到

解决问题
于是我就在华为开发者论坛里找到了一篇名为 如何在代码中给DirectionalLayout配置权重weight 的帖子,然后我尝试了一下,发现代码不报错,但是运行会报错
- 代码
1 | DirectionalLayout.LayoutConfig config = (DirectionalLayout.LayoutConfig) text.getLayoutConfig(); |
- 错误信息
1 | [phone][Engine Log] SEVERE java.lang.ClassCastException: class ohos.agp.components.ComponentContainer$LayoutConfig cannot be cast to class ohos.agp.components.DirectionalLayout$LayoutConfig (ohos.agp.components.ComponentContainer$LayoutConfig and ohos.agp.components.DirectionalLayout$LayoutConfig are in unnamed module of loader 'app') |
于是我发布了一篇求助帖 求助:怎么通过 Java 代码给组件设置 weight
发现原来是我代码的顺序错了
参考自以下内容
华为开发者论坛 https://developer.huawei.com/consumer/cn/forum/topic/0201624372344830169?fid=0101587866109860105&pid=0303853338792740130