用ConstraintLayout中具有纵横比的视图填充剩余空间

时间:2019-04-24 14:44:36

标签: android android-layout android-constraintlayout

我在垂直链中有两个视图(viewA,viewB)。 viewA的宽高比应始终为1:1,而viewB的高度是动态的(可能为400dp,可能为700dp)

预期结果: 当viewB的高度太大而无法容纳屏幕中的两个视图时,应减小viewA的宽度(保持宽高比)。

实际结果: 如果viewB的高度太大,则viewA的宽度始终与父项匹配,并且视图会离开屏幕边界。

注意:希望使用ConstantsLayout并且没有嵌套的视图组。

const f = function (x) {
  console.log(x)
  return Promise.resolve(undefined);
}

const result = f(undefined);

export default result;

1 个答案:

答案 0 :(得分:3)

将顶视图的尺寸比例更改为以下尺寸:

app:layout_constraintDimensionRatio="w,1:1"

现在,当底部视图的高度发生变化时,顶部将根据需要进行跟踪,同时保持1:1的比例。我添加了颜色以更好地查看布局中的视图。

底视图为700dp

enter image description here

底视图为500dp

enter image description here

底图为200dp

enter image description here