Android 将两个文本视图放在一个聊天泡泡中

Android 将两个文本视图放在一个聊天泡泡中,android,android-layout,Android,Android Layout,我正在为我的应用程序构建MessageActivity用户界面,我想在聊天泡泡中放置两个文本视图,即用户的用户名和消息,我希望聊天泡泡同时包含这两个文本视图。但是聊天泡泡只会随着消息长度的增加而扩大,从而像这样把视图搞得一团糟 因此,如果用户名很长,它将在聊天泡泡之外 这是我的布局 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" x

我正在为我的应用程序构建MessageActivity用户界面,我想在聊天泡泡中放置两个文本视图,即用户的用户名和消息,我希望聊天泡泡同时包含这两个文本视图。但是聊天泡泡只会随着消息长度的增加而扩大,从而像这样把视图搞得一团糟

因此,如果用户名很长,它将在聊天泡泡之外

这是我的布局

<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/text_message_body"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:layout_marginTop="8dp"
    android:background="@drawable/bubble_out"
    android:maxWidth="340dp"
    android:paddingBottom="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="18dp"
    android:text="hi man, how are you?"
    android:textColor="#fcfbfb"
    android:textSize="17sp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/text_message_time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="4dp"
    android:text="11:40"
    android:textColor="@android:color/background_light"
    android:textSize="10sp"
    android:visibility="invisible"
    app:layout_constraintBottom_toBottomOf="@+id/text_message_body"
    app:layout_constraintLeft_toRightOf="@+id/text_message_body" />

<ImageView
    android:id="@+id/recieved_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:adjustViewBounds="true"
    android:maxHeight="100dp"
    android:maxWidth="100dp"
    android:padding="0dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/grp_user_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:paddingRight="40dp"
    android:text="@string/display_name"
    android:textColor="#c9ce41"
    app:layout_constraintStart_toStartOf="@+id/text_message_body"
    app:layout_constraintTop_toTopOf="@+id/text_message_body" />

</android.support.constraint.ConstraintLayout>

您将只为文本\消息\正文设置背景,将其从文本\消息\正文中删除,并将其设置为主父容器布局。

是的,将背景设置为主约束布局,但同时设置android:layout \宽度=包裹内容,否则整个宽度将具有气泡背景。