java - GridView 显示在工具栏前面而不是下方

标签 java android

我只是创建了一个带有工具栏和 GridView 的简单 xml 文件,问题是 GridView 显示的工具栏信息不在工具栏下方,就像这样 Grid View

这是我的xml文件

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context="abtech.waiteriano.com.waitrer.MenuActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize" />

    <GridView
        android:id="@+id/menuGridView"
        android:layout_width="match_parent"
        android:background="#d2d2d2"
        android:layout_height="fill_parent"
        android:layout_margin="4dp"
        android:columnWidth="80dp"
        android:gravity="center"
        android:horizontalSpacing="5dp"
        android:numColumns="3"
        android:stretchMode="columnWidth"
        android:layout_below="@+id/toolbar" />
</FrameLayout>

最佳答案

你有不同的选择

  • 将 FrameLayout 更改为 LinearLayout(垂直方向)

  • 将 FrameLayout 更改为 RelativeLayout 并使用“layout_below”

我推荐你使用LinearLayout

例子:

线性布局

<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="wrap_content"
    android:orientation="vertical"
    tools:context="abtech.waiteriano.com.waitrer.MenuActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize" />

    <GridView
        android:id="@+id/menuGridView"
        android:layout_width="match_parent"
        android:background="#d2d2d2"
        android:layout_height="fill_parent"
        android:layout_margin="4dp"
        android:columnWidth="80dp"
        android:gravity="center"
        android:horizontalSpacing="5dp"
        android:numColumns="3"
        android:stretchMode="columnWidth" />
</LinearLayout>

相对布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context="abtech.waiteriano.com.waitrer.MenuActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize" />

    <GridView
        android:id="@+id/menuGridView"
        android:layout_width="match_parent"
        android:background="#d2d2d2"
        android:layout_height="fill_parent"
        android:layout_margin="4dp"
        android:columnWidth="80dp"
        android:gravity="center"
        android:horizontalSpacing="5dp"
        android:numColumns="3"
        android:stretchMode="columnWidth"
        android:layout_below="@id/toolbar" />
</RelativeLayout>

关于java - GridView 显示在工具栏前面而不是下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42533019/

相关文章:

java - URL解码器 : Illegal hex characters in escape (%) pattern - For input string: ".P"

java - 在 CentOS 6.5 32 位上安装 32 位 Java JDK

android - 如何延迟为 kotlin 中的 val 赋值?

java - Java 中的 String.split 与 StringUtils.split 给出不同的结果

使用接口(interface)的 Java 泛型方法

java - 如何从 onDataChange 函数设置全局变量

android - 更换工具栏后汉堡图标未正确显示

java - 抽象方法到底如何在不被覆盖的情况下返回所需类型?

android - 如何在启动智能手机时启动 android 应用程序并使其保持运行直到用户将其关闭?

java - 选择 facebook 按钮 webdriver java