android - 如何为两个视图设置约束?
问题描述
所以我有一个这样的约束布局
<ConstraintLayout>
<TextView
android:id="@+id/text_view"
app:layout_constraintEnd_toStartOf="@+id/view1" />
<View
android:id="@+id/view1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<View
android:id="@+id/view2"
aapp:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</ConstraintLayout>
目前,textview 的结尾在 view1 的开头,但是,当 view1 的可见性消失时,我希望 textview 的结尾到 view2 的开头,否则长字符串可能会覆盖 view2。有没有办法将约束设置为两个视图,或者有没有更好的解决方案?
解决方案
您可以使用 Barrier 来约束多个视图。
<ConstraintLayout>
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier"
app:barrierDirection="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="view1,view2"/>
<TextView
android:id="@+id/text_view"
app:layout_constraintEnd_toStartOf="@id/barrier" />
<View
android:id="@+id/view1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<View
android:id="@+id/view2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</ConstraintLayout>
文本视图将被约束到更左侧的视图
推荐阅读
- python - 删除文本文件中的ip地址并用python中的随机ip地址替换
- python-3.x - 如何使用 python3 asyncio 来做 async io?
- laravel - 如何使用 Nativescript (Vue) 在本地开发环境中进行 Axios 调用?
- sql-server - SQL Server 2016 中的“类未注册”SQL Server 2005 错误?
- jquery - “sideTip”插件的 Tooltipster 初始化错误
- arrays - Vlookup 不适用于多种条件
- sql - 从oracle sql中的任何月份开始删除字符串
- html - 消除样式表的渲染阻塞资源
- algorithm - 可爱的幸运羔羊最后一个测试用例没有通过
- flutter - 颤振如何在后按时执行功能