现在显示嵌套LinearLayout中的TextView

时间:2014-01-20 19:10:04

标签: xml android-layout

在代码下方运行后,TextView3未显示。当我将LinearLayout2方向作为vertical运行时,会显示TextView2TextView3。在horizontal方向,仅显示TextView3

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout1"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/TextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/String1" />

    <LinearLayout
        android:id="@+id/LinearLayout2"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/TextView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/String2"/>

        <TextView 
            android:id="@+id/TextView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/String3"/>

    </LinearLayout>

    <ListView
        android:id="@+id/ListView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

TextView 2的宽度为match_parent,这意味着它将填充父容器的宽度。

当父线性布局是垂直的时,这没关系,因为在该“行”上只有一件事,即文本视图2.

当它是水平的时,TextView2填充宽度,然后在此之后放置TextView3,但它在屏幕外。

如果您希望TextView2和3彼此相邻,则可以将layout_weight用于第二个LinearLayout。

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/text_view_1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:text="@string/String1" />

        <TextView
            android:id="@+id/text_view_2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:text="@string/String2" />

    </LinearLayout>

答案 1 :(得分:0)

问题是您已将android:layout_widthLinearLayout2TextView2的{​​{1}}设置为TextView3

现在,当您将match_parent的方向设置为LinearLayout2时,您只会看到horizontal

一种解决方案是在两个TextView3之间平均分配宽度,如下所示。

TextView

希望这有帮助。