1

我有一个一个接一个有两个孩子的布局,如下所示:

|<view1><text1>                      |

<view1>可能会改变它的宽度。所以,我希望它增加,而两个视图都留在屏幕上:

|<really_wide_view1><text1>          |

但是当右边没有更多空间时,它会停止:

|<reeeeeeeeeeeally_wide_vi...><text1>|

有没有简单的方法可以做到这一点?

现在我尝试使用这种布局:

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

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FF00aa00" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="loooooooooooooooooooooooooooooooooooong text" />
    </LinearLayout>

    <TextView
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFaa0000"
        android:minWidth="30dp"
        android:singleLine="true"
        android:text="test" />

</LinearLayout>

但结果是一样的:结果

4

3 回答 3

1

我可以使用以下代码(您的修改版本)解决您的问题:

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

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#FF00aa00" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong text" 
            />
    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="0"
        android:background="#FFaa0000"
        android:text="testtest" />
</LinearLayout>

这是相同的屏幕截图: 包裹测试

让我知道上面的代码是否解决了问题。

于 2012-06-18T19:05:57.790 回答
0

这是解决方案TableLayout,但看起来很脏。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:shrinkColumns="0" >

    <TableRow>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>

</TableLayout>

它适用于任何长度的两个文本视图。

于 2012-06-18T19:13:21.487 回答
0

尝试在 RelativeLayout 中提供两个视图,并使视图布局宽度和作为 wrap_content 并将方向设置为水平。我认为它会解决你的问题。

于 2012-06-18T18:16:49.413 回答