在代码下方运行后,TextView3
未显示。当我将LinearLayout2
方向作为vertical
运行时,会显示TextView2
和TextView3
。在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>
答案 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_width
,LinearLayout2
和TextView2
的{{1}}设置为TextView3
。
现在,当您将match_parent
的方向设置为LinearLayout2
时,您只会看到horizontal
。
一种解决方案是在两个TextView3
之间平均分配宽度,如下所示。
TextView
希望这有帮助。