网格视图放错了位置,删除了网格视图与其他元素之间的空间

时间:2020-04-25 21:43:32

标签: xml xamarin android-gridview

enter image description here

有人可以帮我吗,我需要网格视图在添加按钮到顶部微调器之间的中间位置,我需要他捕获中间的所有空白,但我不知道该怎么做。 问题是它在添加按钮顶部启动了网格视图。 这是代码


<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

1 个答案:

答案 0 :(得分:0)

您要获得如sceenshot之类的结果吗?

enter image description here

如果是这样,则在layout_weight中删除LinearLayout,只需设置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设置特定的高度才能实现。这是运行屏幕截图。 enter image description here

这是代码。

<?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>