HarmonyOS 鸿蒙Next 如何实现左右两个Row的高度一致
HarmonyOS 鸿蒙Next 如何实现左右两个Row的高度一致
如何实现左右两个Row的高度一致,左边Row高度随着右边Row的高度变化
3 回复
使用相对布局,左边row与右边row上下对齐
更多关于HarmonyOS 鸿蒙Next 如何实现左右两个Row的高度一致的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可以使用onAreaChange获取右边Row的高度,设置左侧的高度,参考文档:
可以参考demo:
[@Component](/user/Component)
[@Entry](/user/Entry)
struct Index{
[@State](/user/State) lineHeight:Length=20;
build(){
Row(){
Column(){
Line()
.stroke('#CCCCCC')
.startPoint([0,0])
.endPoint([0,this.lineHeight])
.stroke(Color.Red)
.strokeWidth(5)
.strokeDashArray([10,3])
.height(this.lineHeight)
.width(5)
}
Column(){
Text('右侧组件区域').fontSize(20)
}
.onAreaChange((oldValue:Area,newValue:Area)=>{
this.lineHeight=newValue.height
})
.height(100)
.layoutWeight(1)
.backgroundColor(Color.Gray)
}
.width('100%')
}
}
在HarmonyOS鸿蒙Next中,实现左右两个Row的高度一致,可以通过以下方式实现:
- 使用Container统一高度:将两个Row放置在一个Container中,并给Container设置固定的高度。这样,两个Row会因为父容器的高度限制而保持一致。
<Container height="100vp"> <!-- 假设高度为100vp -->
<Row>
<!-- 左侧Row的内容 -->
</Row>
<Row>
<!-- 右侧Row的内容 -->
</Row>
</Container>
- 利用Flex布局:如果两个Row处于同一个父级布局中,可以使用Flex布局,并设置相同的flex-grow和flex-shrink属性,确保它们在可用空间内等比例扩展或收缩。
<Flex>
<Row flex="1">
<!-- 左侧Row的内容 -->
</Row>
<Row flex="1">
<!-- 右侧Row的内容 -->
</Row>
</Flex>
- 手动设置高度:直接为两个Row设置相同的高度值。
<Row height="50vp">
<!-- 左侧Row的内容 -->
</Row>
<Row height="50vp">
<!-- 右侧Row的内容 -->
</Row>
选择适合你的布局方式,确保两个Row的高度一致。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html