第二个布局没有在android studio中显示include标签

Moh*_*ahi 7 android android-layout android-xml android-studio

我设计了两个Android布局,应该按顺序显示.因此,第一个布局必须显示在页面顶部,第二个布局必须显示在页面底部.但是,以下代码仅显示第一个布局.我怎样才能显示第二个布局?

主要布局是

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

    <include layout="@layout/first_layout"/>
    <include layout="@layout/second_layout"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

第一个xml布局是

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="net.simplifiedcoding.androidloginapp.UserProfile">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/textView3"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

第二个布局是

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:orientation="vertical"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"      
    tools:context=".MainActivity">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Name"
    android:id="@+id/textView" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editTextName" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Address"
    android:id="@+id/textView2" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editTextAddress" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Insert"
    android:onClick="insert"
    android:id="@+id/button" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textViewResult" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

heh*_*ehe 7

我还不确定这是否可以解决您的问题,但您可以尝试添加android:layout_widthandroid:layout_height在您的包含布局和布局重量?

<include layout="@layout/first_layout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<include layout="@layout/second_layout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>
Run Code Online (Sandbox Code Playgroud)

添加了信息

你遇到这个问题的原因是因为你的布局都match_parent用于高度.这意味着在第一个布局中,它将匹配父级的大小(在这种情况下是整个屏幕),因此,第一个布局将占据整个屏幕,第二个布局将不会出现.

在这个解决方案中,您通过使用,告诉两个布局只消耗一半的屏幕layout_weight.


cod*_*gic 6

在你的第一个布局中,你有

android:layout_height="match_parent"
Run Code Online (Sandbox Code Playgroud)

所以它占据了主布局的整个高度。将其更改为

android:layout_height="wrap_content"
Run Code Online (Sandbox Code Playgroud)

你应该很好。

从文档

根视图应该正是您希望它在添加此布局的每个布局中显示的方式。

注意

您还可以android:layout_*通过在<include/>标记中指定它们来覆盖所包含布局的根视图的所有布局参数(任何属性)。