0

我有这个布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="left">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Some text" />
    </LinearLayout>
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"/>
</LinearLayout>

但是,如果在第一个文本视图(在 LinearLayout 中)有很多文本,第二个文本视图就会离开屏幕。这可以通过将 android:layout_weigh="1" 设置为线性布局来解决。但是在这种情况下,线性布局将填充所有空间,并且我需要线性布局在短文本中填充最小空间,并且在线性布局中有很多文本时不隐藏第二个文本视图。

4

2 回答 2

0

一种解决方案是将您的第一个 TextView 放在 ScrollView 中,并将您的第二个 TextView 放在永远不会隐藏的固定页脚中(这可以通过RelativeLayout来完成)。

如果您的第一个 TextView 中有太多文本,那么您将能够在显示第二个 TextView 的同时滚动它。

于 2012-06-17T23:16:24.077 回答
0

如果第一个 textview 占用太多水平空间,第二个 textview 会渲染到屏幕外...

为了避免将第二个 textview 渲染到屏幕之外,您需要限制第一个 textview 的水平尺寸。你可以给第一个 textview 一个 android:layout_width 一个固定的数值。您可以将 android:singleLine 设置为 false。您可以将 android:maxWidth 设置为适当的值。(我没有尝试过这些解决方案,但它们应该可以工作)。

或者,您可以考虑使用单个 textview 而不是连续使用两个。

于 2012-06-17T23:12:26.840 回答