Android 具有两个文本视图的布局

Android 具有两个文本视图的布局,android,layout,android-layout,Android,Layout,Android Layout,我正在尝试设计一个包含两个文本视图的布局: | | | (Multilined Textview) (60dp TextView) | | (of unknown size ) | 如果第一个文本视图有少量文本,则应如下所示: |

我正在尝试设计一个包含两个文本视图的布局:

|                                                     |
| (Multilined Textview) (60dp TextView)               |
| (of unknown size    )                               |
如果第一个文本视图有少量文本,则应如下所示:

|                                                     |
| (Hello!) (12:34:56)                                 |
|                                                     |
|                                                     |
| (Ey! This is a very very very very long) (12:34:56) |
| (message.                              )            |
如果第一个文本视图有许多文本,则应如下所示:

|                                                     |
| (Hello!) (12:34:56)                                 |
|                                                     |
|                                                     |
| (Ey! This is a very very very very long) (12:34:56) |
| (message.                              )            |
有人知道如何做到这一点

多谢各位


编辑:我让它工作了。我自己的答案中的解决方案。

我相信您可以通过加权线性布局来实现这一点:


我相信通过加权线性布局可以实现这一点:

试试这个:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >    
    <TextView
        android:id="@+id/text_1"
        android:layout_width="wrap_content" 
        android:padding_right = 'fix value of width of TextView text 2'
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:gravity="left" />
    <TextView
        android:id="@+id/text_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/text_1"
        android:gravity="center" />
</RelativeLayout>
试试这个:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >    
    <TextView
        android:id="@+id/text_1"
        android:layout_width="wrap_content" 
        android:padding_right = 'fix value of width of TextView text 2'
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:gravity="left" />
    <TextView
        android:id="@+id/text_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/text_1"
        android:gravity="center" />
</RelativeLayout>
您应该使用android:layout\u width=wrap\u content。 如果使用空字符串初始化textview,则应使用android:minHeight=100dp设置最小化宽度。

应使用android:layout\u width=wrap\u content。
如果您的textview是用空字符串初始化的,您应该使用android:minHeight=100dp来设置最小化宽度。

这里我给出了我的最终解决方案:


在这里,我提出了我的最终解决方案:



好主意,谢谢。该解决方案的问题是,当第一个版面中几乎没有文本时,文本视图之间会有空闲空间。实际上,第一个文本视图占用了所有的空闲空间,但我需要这些空闲空间位于右侧。@mavnaranjo我更新了我的答案。希望这能给你带来你想要的效果。这个想法是,第一个文本视图可以占用它所需要的所有空间,但只占用它所需要的空间,剩余的空闲空间就在右边。所以maxWidth并不能解决这个问题。谢谢你:好主意,谢谢。该解决方案的问题是,当第一个版面中几乎没有文本时,文本视图之间会有空闲空间。实际上,第一个文本视图占用了所有的空闲空间,但我需要这些空闲空间位于右侧。@mavnaranjo我更新了我的答案。希望这能给你带来你想要的效果。这个想法是,第一个文本视图可以占用它所需要的所有空间,但只占用它所需要的空间,剩余的空闲空间就在右边。所以maxWidth并不能解决这个问题。无论如何谢谢你:我喜欢这个主意!但是text_2的布局从右到text_1,包括填充,所以我得到text_1+60sp+text_2。有没有办法在元素右侧布局而忽略填充?我想你们可以试着使用安卓:minHeight,正如平先生所说。嘿!!!我对您的解决方案进行了一些修改,现在它可以工作了!我把它添加到我的问题中。我将你的解决方案标记为已接受,即使没有黑客攻击它也不起作用。当我获得15的声誉时,我会给你投票。谢谢我喜欢这个主意!但是text_2的布局从右到text_1,包括填充,所以我得到text_1+60sp+text_2。有没有办法在元素右侧布局而忽略填充?我想你们可以试着使用安卓:minHeight,正如平先生所说。嘿!!!我对您的解决方案进行了一些修改,现在它可以工作了!我把它添加到我的问题中。我将你的解决方案标记为已接受,即使没有黑客攻击它也不起作用。当我获得15的声誉时,我会给你投票。谢谢第一个textview不能为空,它至少有1个字符,但即使在这种情况下,我也不希望它占用所需的最小空间。您可以通过android将空字符串设置为textview:text=或txtName.setText。我为我关于最小化宽度的错误感到抱歉,请使用android:minWidth=100dp而不是android:minHeight=100dp当然它可以是空的,我的意思是它不应该是空的。该布局适用于即时消息应用程序,第一个TextView是消息,第二个TextView是时间戳,因此它们都不会为空。不要担心minHeight错误,我理解你想说的:。第一个textview不能为空,它至少有1个字符,但即使在这种情况下,我也不希望它占用所需的最小空间。你可以通过android将空字符串设置为textview:text=或txtName.setText。我为我关于最小化宽度的错误感到抱歉,请使用android:minWidth=100dp而不是android:minHeight=100dp当然它可以是空的,我的意思是它不应该是空的。该布局适用于即时消息应用程序,第一个TextView是消息,第二个TextView是时间戳,因此它们都不会为空。别担心minHeight的错误,我明白你想说的。