如何正确设置GridView?

时间:2019-04-20 15:41:35

标签: java android xml android-layout

如何在工具栏下完美设置 GridView 。我希望所有设备上的margin"0dp"。该怎么做?

我尝试设置marginTop,但在具有大屏幕 GridView 的设备上覆盖了工具栏。在各个设备上看起来有所不同。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    tools:context="MainActivity">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/toolbar"
        android:background="#000000"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:title="Application"/>


    <GridView
        android:id="@+id/gridview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/toolbar"
        android:layout_marginTop="56dp"
        android:horizontalSpacing="8dp"
        android:numColumns="2"
        android:verticalSpacing="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0"></GridView>

</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:0)

您可以使用相对布局。 在相对布局内部,放置工具栏和GridView。

在GridView内,编写以下行:

android:layout_below="@id/toolbar"

它将GridView放在工具栏下方。

赞:

 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

<android.support.v7.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/toolbar"
    android:background="#000000"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:title="Application"/>


<GridView
    android:id="@+id/gridview"
    android:layout_width="match_parent"
    android:layout_below="@id/toolbar"
    android:layout_height="match_parent"
    android:layout_below="@id/toolbar"
    android:horizontalSpacing="8dp"
    android:numColumns="2"
    android:verticalSpacing="8dp"></GridView>

        </RelativeLayout>

您有2个选择:

1)您只需将此代码发布到约束布局中,然后在RelativeLayout中键入所需的命令(涉及约束布局)

2)直接用RelativeLayout替换ConstraintLayout(在这种情况下,我建议您使用此方法,这很容易编写代码)