Android “类型”的布局&书信电报;填充父项>&书信电报;包装内容>&引用;

Android “类型”的布局&书信电报;填充父项>&书信电报;包装内容>&引用;,android,layout,Android,Layout,我不确定这个问题的标题清楚我的意思,所以这里有一些细节 我想要实现的是两个文本视图控件一个接一个水平对齐的简单布局。第一个文本视图可能包含几行文本,第二个文本视图只包含一个数字 第二个TextView应始终具有显示其内容所需的宽度,并向右对齐,高度应等于第一个TextView的高度,以便我可以垂直居中显示数据。第一个文本视图应该占用剩余空间(宽度)并根据需要垂直拉伸 例1: --------------------------------- |Small Text.

我不确定这个问题的标题清楚我的意思,所以这里有一些细节

我想要实现的是两个文本视图控件一个接一个水平对齐的简单布局。第一个文本视图可能包含几行文本,第二个文本视图只包含一个数字

第二个TextView应始终具有显示其内容所需的宽度,并向右对齐,高度应等于第一个TextView的高度,以便我可以垂直居中显示数据。第一个文本视图应该占用剩余空间(宽度)并根据需要垂直拉伸

例1:

  ---------------------------------
  |Small Text.                 123|
  ---------------------------------
例2:

  ---------------------------------
  |Long Text starts here ....     |
  |... continues here .......  123|
  |... and finishes here ....     |
  ---------------------------------
具有水平方向的线性布局在这里不好,因为它从左到右放置控件。在这种情况下,我需要首先将wrap_内容设置为第二个TextView,然后将父项填充为第一个TextView

玩RelativeLayout时,我也无法描述布局

我不能在这里使用布局权重方法,因为我不知道第二个文本视图中的数据长度:在一种情况下,它可能是1个字符,在另一种情况下,它可能是8个字符。因此,在1个字符的情况下,我将有未使用的空间


那么,我有机会构建这样的布局吗?

这里将有助于使用minWidth和maxWidth属性。

像下面这样的布局应该可以满足您的需要:

<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>

您尝试过为此使用TableLayout吗?使用layout\u width=“match\u parent”对视图使用layout\u weight属性。