用于textview和2个图像视图的XML Layouting

时间:2017-12-07 05:53:00

标签: android android-layout textview imageview android-xml

我需要使用单个带衬里的TextView和2个ImageView进行布局。它们需要按以下顺序排列: TextView | ImageView1 | [剩余空间] |的 ImageView2

所有这一切的约束条件是,在TextView中文本溢出的情况下,第一个ImageView被推动并粘到第二个,溢出的文本被修剪并显示省略号。像这样:修剪TextView ... | ImageView1 |的 ImageView2

为了更清楚地说明实例,这里有一个例子: enter image description here

如何针对此特定用例进行布局?

1 个答案:

答案 0 :(得分:1)

试试这个:

输出1:

enter image description here

输出2:

enter image description here

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorWhite"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <RelativeLayout 
            android:id="@+id/layout_message"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/tv_message"
                style="@style/TextAppearance.AppCompat.Body1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="30dp"
                android:ellipsize="end"
                android:lines="1"
                android:text="Hello Mike bla bla bla  bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla " />

            <ImageView
                android:id="@+id/tv_msg_time"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:src="@drawable/done_all"
                android:layout_alignRight="@+id/tv_message"
                android:textColor="@android:color/black"
                android:textSize="10sp" />

        </RelativeLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.1"
            android:gravity="end">

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:src="@drawable/job_like" />

        </LinearLayout>
    </LinearLayout>
</LinearLayout>