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

android-用ConstraintLayout中具有纵横比的视图填充剩余空间,第1张

概述我在垂直链中有两个视图(viewA,viewB).viewA的宽高比应始终为1:1,而viewB的高度是动态的(可能为400dp,可能为700dp)预期成绩:当viewB的高度太大而无法容纳屏幕中的两个视图时,应减小viewA的宽度(保持宽高比).实际结果:如果viewB的高度太大,则viewA的宽度始终与父项匹配,并且视图会

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

预期成绩:
当vIEwB的高度太大而无法容纳屏幕中的两个视图时,应减小vIEwA的宽度(保持宽高比).

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

注意:需要使用ConstantsLayout且没有嵌套的视图组.

<VIEw    androID:ID="@+ID/vIEwA"    androID:layout_wIDth="0dp"    androID:layout_height="0dp"    app:layout_constraintBottom_totopOf="@+ID/vIEwB"    app:layout_constraintDimensionRatio="h,1:1"    app:layout_constraintEnd_toEndOf="parent"    app:layout_constraintStart_toStartOf="parent"    app:layout_constrainttop_totopOf="parent"    app:layout_constraintVertical_chainStyle="spread"/><VIEw    androID:ID="@+ID/vIEwB"    androID:layout_wIDth="match_parent"    androID:layout_height="700dp"    app:layout_constraintBottom_toBottomOf="parent"    app:layout_constraintEnd_toEndOf="parent"    app:layout_constraintStart_toStartOf="parent"    app:layout_constrainttop_toBottomOf="@+ID/vIEwA"/>

解决方法:

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

app:layout_constraintDimensionRatio="w,1:1"

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

底视图为700dp

底视图为500dp

底视图为200dp

总结

以上是内存溢出为你收集整理的android-用ConstraintLayout中具有纵横比的视图填充剩余空间全部内容,希望文章能够帮你解决android-用ConstraintLayout中具有纵横比的视图填充剩余空间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1081695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存