首页 > 解决方案 > Android ConstraintLayout - 如何创建空间不均匀的链?

问题描述

这就是我想做的

我如何使用 ConstraintLayouts 创建它?我想将一些视图附加到右侧,一些附加到左侧,中间的可变空间取决于右侧/左侧视图的长度。我知道链,但它们总是在视图之间添加一个均匀的空间,我不想给空间一个固定的值。在线性布局中,我会做这样的事情:

<LinearLayout >
<ImageView />
<TextView />

<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />

<ImageView />
<ImageView />
<TextView />
<LinearLayout/>

这可以在 ConstraintLayout 中复制吗?

标签: javaandroidandroid-constraintlayout

解决方案


Constraints当您可以直接用于单个元素时,为什么需要链或空间。看到这个伪代码,这会有所帮助。

<androidx.constraintlayout.widget.ConstraintLayout
  .....
  .....
>
<TextView
  .....
  app:layout_constraintStart_toStartOf="parent"
  app:layout_constraintTop_toTopOf="parent"
  android:layout_marginStart="10dp"
  android:drawableStart=" Your clock icon" //Using this you don't have to use a separate ImageView
 />
 <ImageView
  .....
  app:layout_constraintEnd_toStartOf=" ID of your Download Count TextView"
  app:layout_constraintTop_toTopOf="parent"
  android:layout_marginEnd="10dp"
 />
 <TextView
  .....
  app:layout_constraintEnd_toEndOf="parent"
  app:layout_constraintTop_toTopOf="parent"
  android:layout_marginEnd="10dp"
  android:drawableStart=" Your Download icon"
 />
 </androidx.constraintlayout.widget.ConstraintLayout>

我使用drawbleStart了而不是单独的ImageView,如果您愿意,可以使用,只需使用app:layout_constraintEnd_toStartOf=" ID of the View". 给定的边距是屏幕结束/开始和视图之间的空间,您可以根据需要调整它。

这将为您提供您共享的视图。检查这是否有帮助。


推荐阅读