我不确定在ConstraintLayout中指定挡墙周围边距的最佳方法。
我试着在barrier元素中设置它们,但是没有效果,而且我也找不到任何相关的文档。
<androidx.constraintlayout.widget.Barrier
android:id="@+id/detail_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="top"
android:layout_marginBottom="8dp"
app:constraint_referenced_ids="detail_header_1,detail_header_2" />
4条答案
按热度按时间34gzjxbg1#
使用azEf推荐的方法可以工作,但是你需要2个视图而不是1个,并且在布局预览中障碍物会看起来很模糊。内置的方法是
app:barrierMargin
。例如:jm81lzqq2#
可以将
Space
视图约束到挡墙,并在其上添加边距。b0zn9rqh3#
这可能会晚一些,但对于任何将来会遇到同样问题的人来说,你可以简单地给予你的间隔符一个高度或宽度,而不是wrap_content,这就解决了marginTop或marginBottom,marginStart或marginEnd的问题。
lndjwyie4#
我们也可以使用一个视图约束,将Barrier的宽度或高度设置为0dp,这样它就不会像Bar一样出现在UI中,而是帮助为其他视图提供约束。