[short text][image1][image2]____________________________________
[this is a reallyyyyyyy.............y long text][image1][image2]
我有3个视图:一个具有可变大小的TextView和两个小图像(16dp x 16dp),并且想要实现一种布局,以使图像始终显示为16dp x 16dp,并且文本应在剩余空间中显示,并且如果太长则以椭圆形显示。 3个视图的组应全部对齐并彼此相邻。
尝试的方法:
无权重的LinearLayout
缺点:当TextView很大时,将不显示ImageViews。
具有权重的LinearLayout
缺点:ImageViews不再彼此相邻,而是按权重比例占用空间。
RelativeLayout-image2:alignParentBottom,image1:toLeftOf =“ image2”,文本:toLeftOf =“ image1”
缺点:现在所有元素都右对齐。
____________________ [短文本] [image1] [image2]
如何实现这种布局?最好没有嵌套?
提前致谢!
最佳答案
您应该使用第三个方法,但将textview重力设置为左侧。
像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="right"
android:layout_toLeftOf="@+id/imageView1"
android:text="TextView" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_toLeftOf="@+id/imageView2"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_alignParentRight="true"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
如果要仅将textview保留在一行中,请使用
android:singleLine="true"
关于android - Android布局:如何相对于最右边的 View 对齐,但保持所有元素对齐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19609075/