【发布时间】:2019-04-09 16:41:52
【问题描述】:
我有一个设计要求的布局,例如:
关闭按钮必须在上面,下面是ImageView 和TextView。 TextView 的大小是动态的,取决于数据库中保存的内容。 ImageView 和 TextView 都必须像第一张图片一样位于关闭按钮下方,并且:
如果反过来,我可以使用 Barrier 和 bottom 方向,并参考 ImageView 和 TextView 的 ID 以将关闭按钮定位到,但情况正好相反现在。
有没有办法在不将ImageView 和TextView 嵌套在另一个布局中(例如LinearLayout)的情况下执行此视图?尝试实现非嵌套视图,因为我正在使用ConstraintLayout..
提前致谢!
编辑:
这是一个测试布局
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingTop="20dp"
android:paddingRight="16dp">
<ImageView
android:id="@+id/waste_type_close"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_account_alert_grey600_24dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/waste_type_image"
android:layout_width="84dp"
android:layout_height="84dp"
android:layout_marginLeft="20dp"
android:src="@drawable/ic_account_alert_black_48dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/waste_type_close" />
<TextView
android:id="@+id/waste_type_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:text="name"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/waste_type_image"
app:layout_constraintLeft_toRightOf="@+id/waste_type_image"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/waste_type_image" />
</ConstraintLayout>
编辑:
这是另一个测试布局:
<ImageView
android:id="@+id/waste_type_close"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_account_alert_grey600_24dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/waste_type_barrier"/>
<ImageView
android:id="@+id/waste_type_image"
android:layout_width="84dp"
android:layout_height="84dp"
android:layout_marginLeft="20dp"
android:src="@drawable/ic_account_alert_black_48dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/waste_type_close" />
<TextView
android:id="@+id/waste_type_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:text="nameaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/waste_type_image"
app:layout_constraintLeft_toRightOf="@+id/waste_type_image"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/waste_type_image" />
<android.support.constraint.Barrier
android:id="@+id/waste_type_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="top"
app:constraint_referenced_ids="waste_type_image, waste_type_name"/>
产生:
【问题讨论】:
-
设置障碍有什么问题?
标签: android android-constraintlayout