Я хотел бы получить следующий макет
Нижний слой TextView
имеет прямоугольник с закругленными углами, который можно нарисовать в качестве фона. Я хотел бы выровнять текст внутри TextView
с верхним текстом. В настоящее время происходит то, что закругленные края совпадают с текстом, а не с самим текстом. Любые идеи о том, как реализовать это с ConstraintLayout
? Я попытался установить layout_constraintStart_toStartOf
текст выше и установить отрицательный отступ, но я предполагаю, что ограничения имеют приоритет здесь и игнорируют заполнение.
Вот полный макет xml:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/trip_type_icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:tint="@color/oslo_gray"
app:layout_constraintBottom_toBottomOf="@+id/trip_month"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/trip_date"
app:srcCompat="@drawable/ic_car_pickup" />
<View
android:id="@+id/divider"
android:layout_width="1dp"
android:layout_height="0dp"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:background="@color/oslo_gray"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/trip_type_icon" />
<TextView
android:id="@+id/trip_date"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:textColor="@color/shark"
app:layout_constraintEnd_toEndOf="@+id/trip_month"
app:layout_constraintStart_toEndOf="@+id/trip_type_icon"
app:layout_constraintTop_toTopOf="parent"
tools:text="5" />
<TextView
android:id="@+id/trip_month"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="4dp"
android:textColor="@color/emperor"
app:layout_constraintBottom_toBottomOf="@+id/trip_timeline_subtitle"
app:layout_constraintStart_toEndOf="@+id/trip_type_icon"
app:layout_constraintTop_toBottomOf="@+id/trip_date"
tools:text="Sep" />
<TextView
android:id="@+id/trip_timeline_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:textColor="@color/shark"
app:layout_constraintEnd_toStartOf="@+id/navigate_arrow"
app:layout_constraintStart_toEndOf="@+id/trip_date"
app:layout_constraintTop_toTopOf="parent"
tools:text="PVG -> PEK" />
<TextView
android:id="@+id/trip_timeline_subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginBottom="48dp"
android:textColor="@color/emperor"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/trip_timeline_title"
app:layout_constraintStart_toEndOf="@+id/trip_date"
app:layout_constraintTop_toBottomOf="@+id/trip_timeline_title"
tools:text="2:10pm - 4:45pm" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/navigate_arrow"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="@+id/trip_timeline_subtitle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/trip_timeline_title"
app:layout_constraintTop_toTopOf="@+id/trip_timeline_title"
app:srcCompat="@drawable/ic_arrow_right_vector" />
<TextView
android:id="@+id/trip_timeline_flight_layover"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/rounded_rectangle_radius_12dp"
android:textColor="@color/emperor"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@id/navigate_arrow"
app:layout_constraintStart_toStartOf="@+id/trip_timeline_subtitle"
app:layout_constraintTop_toBottomOf="@id/trip_timeline_subtitle"
tools:background="@drawable/rounded_rectangle_radius_12dp"
tools:text="2h 25m Layover at PEK"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
Рисуем округленный прямоугольникrounded_rectangle_radius_12dp
:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:tint="@color/porcelain">
<corners android:radius="12dp" />
<padding android:left="12dp"
android:right="12dp"
android:top="2dp"
android:bottom="2dp"/>
</shape>