HarmonyOS 鸿蒙Next:使用layoutWeight()拼接两个view,中间有间隙

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:使用layoutWeight()拼接两个view,中间有间隙

使用layoutWeight()拼接两个view,可能会中间有间隙。

伪代码类似:

Column() {

Stack() {

}
.width(‘100%’)
.height(‘20vp’)
.borderRadius({
topLeft: ‘20vp’,
topRight: ‘20vp’
})
.backgroundColor(’#FFF5F7F9’);
/**
* 数据内容
* **/
Column()
.width(‘100%’)
.layoutWeight(1);
}

cke_12758.jpeg

类似这种,两个view之间有间隙,这个是不是因为在运算中精度丢失了,有怎么说明计算宽高的文档吗?

4 回复
这是色差。如果将两个view的背景色设置相同就可以看到没有间隙。

看着是间隙,具体是什么也不能百分之百确定,因为也不知道源码里面像素的精度是怎么算的,已经遇到好几次了。

上下两个view的颜色一样的

在HarmonyOS中使用layoutWeight来分配两个View的空间时,如果两个View之间出现间隙,这通常不是layoutWeight直接导致的。间隙可能由以下几个因素引起:

  1. View的Margin或Padding:检查两个View的margin和它们父布局的padding,确保没有不必要的空间。
  2. 布局容器的属性:确认父布局(如LinearLayout)的orientationdivider属性是否设置正确,divider可能会引入间隙。
  3. 布局文件或代码中的其他设置:检查是否有其他设置(如gravity)影响了布局。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部