网格视图错位删除 space 网格视图到其他元素之间

Grid view missplaced remove space between the grid view to other elements

enter image description here

谁能帮助我,我需要网格视图在顶部微调器的添加按钮之间的中心占据一席之地我需要他捕捉中间的所有白色 space 但我不知道如何去做吧。 问题是它在添加按钮的顶部启动了网格视图。 这是代码


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:orientation="horizontal">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAllCaps="false"
            android:text="Welcome - "
            android:textSize="30sp"
            android:gravity= "center"
            android:id="@+id/txtvHeadLine"
        />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.1"
        android:orientation="horizontal">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:textAllCaps="false"
            android:text="Type"
            android:gravity="left"

        />
         <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:textAllCaps="false"
            android:text="Brand"
            android:gravity="left"

        />
         <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textAllCaps="false"
            android:text="Color"
            android:gravity="left"

        />

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

        <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnType"     
        />

       <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnBrand"     
       />
       <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnColor"     
       />
        <ImageButton
            android:layout_width="0dp"
            android:layout_height="70dp"
            android:layout_weight="1"
            android:scaleType="fitXY"  
            android:id="@+id/imgbtnSearch"
            android:src="@drawable/search"

        />
    </LinearLayout>
      <GridView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"       
        android:numColumns="auto_fit" 
        android:id="@+id/GrdView"
    />
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAllCaps="false"
            android:text="add"        
            android:id="@+id/btnAdd"/> 
</LinearLayout>

imgur.com/eBZjR.jpg

你想达到如下截图的效果吗?

如果是这样,您删除 LinearLayout 中的 layout_weight,只需设置 android:layout_height="wrap_content"。这是布局代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout

        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:orientation="horizontal">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAllCaps="false"
            android:text="Welcome - "
            android:textSize="30sp"
            android:gravity= "center"
            android:id="@+id/txtvHeadLine"
        />
    </LinearLayout>

    <LinearLayout
        android:paddingTop="30dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:orientation="horizontal">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:textAllCaps="false"
            android:text="Type"
            android:gravity="left"

        />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:textAllCaps="false"
            android:text="Brand"
            android:gravity="left"

        />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textAllCaps="false"
            android:text="Color"
            android:gravity="left"

        />
    </LinearLayout>

     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:orientation="horizontal"> 

        <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnType"     
        />

       <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnBrand"     
       />
       <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnColor"     
       />
        <ImageButton
            android:layout_width="0dp"
            android:layout_height="70dp"
            android:layout_weight="1"
            android:scaleType="fitXY"  
            android:id="@+id/imgbtnSearch"
            android:src="@drawable/search"

        />
    </LinearLayout>
    <GridView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="auto_fit"
        android:id="@+id/GrdView"
        android:layout_gravity="center"
        android:gravity="center"
    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAllCaps="false"
        android:text="add"
        android:id="@+id/btnAdd"/>

</LinearLayout>

更新

您必须为 GridView 设置特定高度才能实现。这是 运行 屏幕截图。

这是代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAllCaps="false"
            android:text="Welcome - "
            android:textSize="30sp"
            android:gravity= "center"
            android:id="@+id/txtvHeadLine"
        />
    </LinearLayout>
    <LinearLayout
        android:paddingTop="30dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:textAllCaps="false"
            android:text="Type"
            android:gravity="left"

        />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:textAllCaps="false"
            android:text="Brand"
            android:gravity="left"

        />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textAllCaps="false"
            android:text="Color"
            android:gravity="left"

        />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnType"     
        />
        <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnBrand"     
       />
        <Spinner
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:spinnerMode="dropdown"
            android:id="@+id/spnColor"     
       />
        <ImageButton
            android:layout_width="0dp"
            android:layout_height="70dp"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:id="@+id/imgbtnSearch"
            android:src="@drawable/search"

        />
    </LinearLayout>

        <GridView
           android:layout_width="match_parent"
           android:layout_height="400dp"
           android:numColumns="auto_fit"
           android:id="@+id/GrdView"
           android:layout_gravity="center"
           android:gravity="center"
        />

     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:gravity="bottom"
        android:orientation="vertical">

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textAllCaps="false"
        android:text="add"

        android:id="@+id/btnAdd"/>
    </LinearLayout>

</LinearLayout>