线性布局包装TextView

时间:2013-04-05 12:56:55

标签: java android layout android-linearlayout

我正在设计如下布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/messageText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="12:45 PM" />

</LinearLayout>

它提供了如上所述的UI ... Long Text Image

哪个是我需要的完美。由于方向是水平的,因此不会将Button推离屏幕,因此长文本正在被正确包裹。按钮也没有伸展。

但如果文字很小。看起来像这样

Short text image

我想要的是按钮应该与文本的左端对齐,如下所示

short correct text

我知道我将布局权重设为1.

在为按钮提供所需空间后消耗整个区域。

如果我不这样做。并使宽度成为包装内容。它适用于短文本。但随着文本的增长。

它将按钮推离屏幕。

这就是问题所在。 希望我让我的问题足够描述。但当然很长时间阅读。痛苦当然。 但是真的很高兴知道任何指针。

我也不愿意使用相对布局。

任何帮助将不胜感激。

由于

3 个答案:

答案 0 :(得分:5)

希望这适合你。请试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/messageText"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="12:45 PM" />

我认为您需要将 android:layout_width =“fill_parent”的linearlayout更改为 android:layout_width =“wrap_content”

答案 1 :(得分:1)

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/messageText"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
     android:layout_weight="1.0"
    android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" />

<Button
    android:id="@+id/button1"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:text="12:45 PM" />

答案 2 :(得分:0)

我在我的设备上测试它并且工作正常。试试吧

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="1" >

<TextView
    android:id="@+id/messageText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="sdgdsgdhdhdfhdhgfffffffffffffffffffffffffffffffffffffffff" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="12:45 PM" />

</LinearLayout>