我需要使用单个带衬里的TextView和2个ImageView进行布局。它们需要按以下顺序排列: TextView | ImageView1 | [剩余空间] |的 ImageView2
所有这一切的约束条件是,在TextView中文本溢出的情况下,第一个ImageView被推动并粘到第二个,溢出的文本被修剪并显示省略号。像这样:修剪TextView ... | ImageView1 |的 ImageView2
如何针对此特定用例进行布局?
答案 0 :(得分:1)
试试这个:
输出1:
输出2:
<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>