不确定这个问题标题清楚我的意思,所以这里有详细信息。
我想要实现的是简单的布局,两个TextView控件一个接一个地水平对齐。第一个TextView可能包含几行文本,第二个TextView只包含一个数字。
第二个TextView应始终具有显示其内容所需的宽度,与右侧对齐,高度应等于第一个TextView的高度,以便我可以垂直居中显示数据。第一个TextView应该占用剩余空间(宽度)并根据需要垂直拉伸。
示例1:
---------------------------------
|Small Text. 123|
---------------------------------
示例2:
---------------------------------
|Long Text starts here .... |
|... continues here ....... 123|
|... and finishes here .... |
---------------------------------
水平方向的LinearLayout在这里不好用,因为它从左到右放置控件。在这种情况下,我需要首先将wrap_content设置为第二个TextView,然后将fill_parent设置为第一个TextView。
使用RelativeLayout玩我也无法描述布局。
我无法在这里使用layout_weight方法,因为我不知道第二个TextView中的数据长度:在一种情况下,它可以是1个字符,在另一个中 - 8个字符。因此,在1个字符的情况下,我将使用未使用的空间。
那么,我有机会建立这样的布局吗?
答案 0 :(得分:4)
如下所示的布局可以帮到你:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="false"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_vertical|right"
android:text="TextView" />
</LinearLayout>
答案 1 :(得分:-1)
这里使用minWidth和maxWidth属性非常有用。