LayoutParams 权重出乎意料地起作用

问题描述 投票:0回答:1

我正在尝试创建带有 2 个子 LinearLayout 的 LinearLayout。我无法使用 XML,应该以编程方式进行此操作。

对于我申请的家长:

LayoutParams(MATCH_PARENT, WRAP_CONTENT, 1f)

第一个孩子:

LayoutParams(MATCH_PARENT, WRAP_CONTENT, 0.3f)

第二个孩子:

LayoutParams(MATCH_PARENT, WRAP_CONTENT, 0.7f)

我预计孩子 2 会比孩子 1 大,但他们是倒置的。子项 1 比子项 2 占用更多空间。

为什么我会出现这种行为以及如何解决它?

android kotlin android-layout
1个回答
0
投票

如果您想要这样的基于百分比的布局,则子级的宽度必须为 0。不是 MATCH_PARENT 或 WRAP_CONTENT(假设水平布局。如果是垂直布局,则应用相同的规则,但高度除外)。如果宽度非零则忽略权重

© www.soinside.com 2019 - 2024. All rights reserved.