gpt4 book ai didi

android - 在 ConstraintLayout 中将动态大小的 View 约束到 View 的底部

转载 作者:太空狗 更新时间:2023-10-29 14:38:04 27 4
gpt4 key购买 nike

我的布局设计要求如下:

Large TV

关闭按钮必须在上面,下面是 ImageViewTextViewTextView 的大小是动态的,具体取决于数据库中保存的内容。 ImageViewTextView 都必须像第一张图片一样位于关闭按钮下方,并且:

Small TV

如果反过来,我可以使用 Barrierbottom 方向并引用 ImageView 的 id TextView 用于将其自身定位到关闭按钮,但现在是相反的方式。

有没有办法在不将 ImageViewTextView 嵌套在另一种布局(例如 LinearLayout)中的情况下实现此 View ?尝试实现非嵌套 View ,因为我正在使用 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"/>

产生:

Barrier test

最佳答案

放置一个限制在关闭按钮下方的屏障,并在下方项目( ImageView 和 TextView )被限制在屏障底部的位置放置一个约束应该这样做。对于动态 textview,只需在 Imageview 上创建一个关于 textview 开始的约束。

关于android - 在 ConstraintLayout 中将动态大小的 View 约束到 View 的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52752499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com