0

我已经看到了一些与此类似的问题。但是,这些情况不同,有些不适合初学者。
所以我最近才开始使用Android。请理解我是新手*.xml。无论如何,我关心的是LinearLayout只显示第一个的嵌套View

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

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

        <TextView
            android:layout_gravity="center"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:textSize="20sp"
            android:text="@string/app_title">
        </TextView>

    </LinearLayout>

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

        <Button 
            android:layout_gravity="center"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="@string/button_ok"
            android:onClick="changeMessage">
        </Button>

        <TextView
            android:layout_gravity="center"
            android:textSize="20sp"
            android:id="@+id/this_text"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="@string/sample_text">
        </TextView>

    </LinearLayout>

</LinearLayout>

这是到目前为止的 XML。使用此代码,仅显示第一个 TextView。

4

3 回答 3

2

android:layout_height="match_parent"嵌套的高度LinearLayout应该wrap_contentmatch_parent

于 2013-01-10T08:31:17.737 回答
1

因为你已经给了第一个LinearLayout宽度和高度matchparent

将其高度更改为wrapcontent

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

    <TextView
        android:layout_gravity="center"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:textSize="20sp"
        android:text="@string/app_title">
    </TextView>

</LinearLayout>

// other layouts
于 2013-01-10T08:31:31.693 回答
1

改变布局如下

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:layout_gravity="center"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:textSize="20sp"
        android:text="@string/app_title">
    </TextView>

</LinearLayout>

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

    <Button 
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/button_ok"
        android:onClick="changeMessage">
    </Button>

    <TextView
        android:layout_gravity="center"
        android:textSize="20sp"
        android:id="@+id/this_text"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/sample_text">
    </TextView>

</LinearLayout>

您的内部布局与父布局匹配,因此只会显示第一个布局。

于 2013-01-10T08:31:57.990 回答