HarmonyOS Java UI之AdaptiveBoxLayout布局示例
3347 浏览 26 点赞 16 收藏
AdaptiveBoxLayout简介
AdaptiveBoxLayout意为自适应盒模式布局,是将整个UI划分为形同宽度,高度有可能不同的行和列的盒子,也可以理解为将整个UI划分为多块。其中盒子的宽度取决于布局的宽度和每行中盒子的数量,这个需要在布局策略中指定。子组件的排列只有在前一行被填满后才会开始在新一行中占位。
① 布局中盒子(块)的宽度取决于布局的宽度和每行中盒子的数量,这些属性需要在布局策略中指定。
② 每个盒子(块)的高度由其子组件的高度决定。
③ 子组件的排列只有在前一行被填满后才会开始在新一行中占位。
④ 每个盒子(块)包含一个子组件。
⑤ 每一行的高度由该行最高盒子高度决定。
⑥ 布局的宽度只能为MATCH_PARENT或固定值。
⑦ 可以为布局中的组件设置长度,宽度和对齐方式。
常用属性
| 方法 | 描述 |
| addAdaptiveRule(int minWidth, int maxWidth, int columns) | 添加一个自适应规则,指定行中盒子的数量,其宽度在指定访问内。 |
由于继承自Component,所以常用的属性和其他的布局一样。这里需要提的一个方法是添加自适应规则,唯一遗憾的是,目前我还没有添加成功,暂时还未找到原因,若你成功了,麻烦告知一下。
示例
<?xml version="1.0" encoding="utf-8"?>
<AdaptiveBoxLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent">
<Text
ohos:height="match_parent"
ohos:width="match_content"
ohos:background_element="$graphic:background_adaptive_box_layout"
ohos:text="我是第一个Text."
ohos:margin="10vp"
ohos:text_size="50"/>
<Text
ohos:height="match_parent"
ohos:width="match_content"
ohos:background_element="$graphic:background_adaptive_box_layout"
ohos:text="我是第二个Text."
ohos:margin="10vp"
ohos:text_size="50"/>
<Text
ohos:height="match_parent"
ohos:width="match_content"
ohos:background_element="$graphic:background_adaptive_box_layout"
ohos:text="我是AdaptiveBoxLayout布局,我会自动将自己划分为多个盒子,每个盒子的宽度是相同的,高度是该行盒子中最高的盒子决定。"
ohos:margin="10vp"
ohos:multiple_lines="true"
ohos:text_size="50"/>
<Text
ohos:height="match_parent"
ohos:width="match_content"
ohos:background_element="$graphic:background_adaptive_box_layout"
ohos:text="我是第四个Text."
ohos:margin="10vp"
ohos:text_size="50"/>
<Text
ohos:height="match_parent"
ohos:width="match_content"
ohos:background_element="$graphic:background_adaptive_box_layout"
ohos:text="我是第五个Text."
ohos:margin="10vp"
ohos:text_size="50"/>
<Text
ohos:height="match_parent"
ohos:width="match_content"
ohos:background_element="$graphic:background_adaptive_box_layout"
ohos:text="我是第六个Text."
ohos:margin="10vp"
ohos:text_size="50"/>
</AdaptiveBoxLayout>
复制
这里我们有一个Text文本是多行显示,所以它的高度相对其他Text会比较高。而自适应盒模式布局提到行高度是该行中最高盒子的高度,我们也可以从图中看到,第四个Text的高度和第三个Text的高度是一样的。
©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
其它
标签
HarmonyOS Java UI
AdaptiveBoxLayout
相关推荐
华为鸿蒙HarmonyOS特征卡片曝光,支持待机屏保、轻量交互等
十三代宗师
0
0基于API23,HarmonyOS 6.0.0.328 SP12开发者版正式推送
阿新工程师
100
0鸿蒙组件库开发实战:从零打造可复用的UI组件库
周正
1
0【划重点】HarmonyOS 应用市场审核 3.5 驳回“十大高频问题”全解析
鸿蒙小助手
1894
0在 HarmonyOS 中,如果用户拒绝了应用的某个权限请求,应用中要如何处理?
鸿蒙小助手
7677
0宋你一朵小红花
我还没有写个人简介......
881
帖子
0
提问
1679
粉丝
最新发布
华为鸿蒙 HarmonyOS 6.0.0.108 SP2 Developer 版本新增 9 套桌面图标
2025-10-20 23:17:16 发布注意!华为开启鸿蒙6.0系统推送,稳定性提升
2025-10-14 15:10:36 发布热门推荐