Я пытаюсь реализовать простой чат, используя расширение ConstraintLayout
. Вот чего я пытаюсь достичь:
Однако, wrap_content
похоже, не работает должным образом с ограничениями. Он учитывает поля, но не рассчитывает доступное пространство должным образом. Вот мой макет:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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">
<TextView
android:id="@+id/chat_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintHorizontal_bias="0"
tools:background="@drawable/chat_message_bubble"
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sodales accumsan tortor at bibendum."
android:layout_marginStart="64dp"
android:layout_marginLeft="64dp"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" />
</android.support.constraint.ConstraintLayout>
Это выглядит следующим образом:
Я использую com.android.support.constraint:constraint-layout:1.0.0-beta4
.
Я делаю что-то неправильно? Это ошибка или просто неинтуитивное поведение? Могу ли я добиться правильного поведения с помощью ConstraintLayout
(я знаю, что могу использовать другие макеты, о которых я ConstrainLayout
конкретно спрашиваю ).
tools:background="@drawable/chat_message_bubble"
. Чтобы реализовать это, вам нужно создать файл chat_message_bubble.xml в папке с возможностью переноса, а затем добавить этот код: <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FB4382"/> <corners android:radius="10dip"/> </shape>