我在垂直链中有两个视图(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中具有纵横比的视图填充剩余空间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)