我在约束布局的工具布局上有些挣扎。
目前,我的布局是:
这就是我想要实现的目标,但是如何使这一行像一个“小组”一样?
例如,如果我添加此微调器,则我的所有布局都一团糟,我需要更改偏向来对齐事物,这不是一个好方法。
我的布局代码:
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@android:color/white">
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintBottom_toTopOf="@+id/spinner3"
app:layout_constraintEnd_toStartOf="@+id/from_image_view"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.415" />
<ImageView
android:id="@+id/from_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toTopOf="@id/from_text_view"
app:layout_constraintEnd_toStartOf="@+id/to_image_view"
app:layout_constraintStart_toEndOf="@+id/editText"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_calendar_right" />
<ImageView
android:id="@+id/to_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="16dp"
app:layout_constraintBottom_toTopOf="@id/to_text_view"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/from_image_view"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_calendar_right" />
<TextView
android:id="@+id/from_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:text="From"
android:textSize="18sp"
app:layout_constraintBottom_toTopOf="@id/spinner3"
app:layout_constraintStart_toStartOf="@+id/from_image_view"
app:layout_constraintTop_toBottomOf="@+id/from_image_view" />
<TextView
android:id="@+id/to_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="46dp"
android:text="To"
android:textSize="18sp"
app:layout_constraintBottom_toTopOf="@id/spinner3"
app:layout_constraintStart_toStartOf="@+id/to_image_view"
app:layout_constraintTop_toBottomOf="@+id/to_image_view" />
<Spinner
android:id="@+id/spinner3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:layout_editor_absoluteX="23dp"
tools:layout_editor_absoluteY="136dp"
tools:listitem="@android:layout/simple_list_item_1" />
</androidx.constraintlayout.widget.ConstraintLayout>
答案 0 :(得分:1)
在imageview和text视图的顶部添加约束以编辑文本
app:layout_constraintBottom_toBottomOf="@id/from_text_view"
app:layout_constraintTop_toTopOf="@id/from_image_view"
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintBottom_toBottomOf="@id/from_text_view"
app:layout_constraintTop_toTopOf="@id/from_image_view"
app:layout_constraintEnd_toStartOf="@+id/from_image_view"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.415" />
并为微调框添加开始编辑文本
app:layout_constraintStart_toStartOf="@id/editText"
,便于在属性app:layout_constraintBottom_toBottomOf
中引用constraintBottom
,用于当前视图的底部,而toBottomOf
是引用视图底部的ID。
例如,在您的旋转器视图中,app:layout_constraintStart_toStartOf="@id/editText"
中的constraintStart
表示旋转器视图的开始,并且toStartOf
与edittext视图的开始对齐。