我尝试并排放置三个视图:text1 - img - text2。 Img必须始终在text1(没有额外的空间)。我试图使用布局权重来解决这个问题,但是使用该解决方案,img始终位于父视图的中心。
预期结果:
Text1简短,Text2长。不要在Text1和img之间添加空格
+----------------------------------------+
| [Text1 a] [img] [Text2 asdfghjklz... ] |
+----------------------------------------+
两个文本都是椭圆形的,保持img中心
+----------------------------------------+
| [Text1 asdfg...] [img] [Text2 asdf...] |
+----------------------------------------+
Text1 long,text2 short
+----------------------------------------+
| [Text1 asdfgadfafs...] [img] [Text2 a] |
+----------------------------------------+
这是我能得到的最接近的(使用重量),但问题是如果text1很短,则img仍然位于布局的中心。我应该总是直接在text1的右边。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textview1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
tools:text="Text1 asdfghjkl" />
<ImageView
android:id="@+id/img"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:src="@drawable/ic_arrow" />
<TextView
android:id="@+id/textview2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
tools:text="Text2 asdfghjkl" />
</LinearLayout>
答案 0 :(得分:0)
使用相对布局将每个小部件对齐到另一个小部件的右侧。对于第一个textview给出一些宽度并添加2行以下
机器人:ellipsize =&#34;端&#34; 机器人:MAXLINES =&#34; 1&#34;
图像使用所需的高度和宽度
第三个textview的使用以下代码。对于此textview,您不必设置可以使用换行内容的宽度。
机器人:ellipsize =&#34;端&#34; 机器人:MAXLINES =&#34; 1&#34;
希望这有帮助,或者至少这将是一个良好的开端。