CustomGridview 与 FrameLayout 问题

CustomGridview with FrameLayout problems

我创建了一个自定义网格视图,这是我的 custom_gridview.xml :

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/framelayout"
    android:layout_width="125dp"
    android:layout_height="125dp">

    <ImageView
        android:scaleType="fitXY"
        android:id="@+id/imageViewGrid"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <TextView
        style="@style/shadowText"
        android:id="@+id/textViewGrid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center|bottom"
        android:text="test" />

</FrameLayout>

这里是 activity_main.xml :

<?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"
    tools:context="com.example.manhtuan.bai2xemanh.MainActivity">

    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#000"
        android:numColumns="3"
        android:horizontalSpacing="10dp"
        android:verticalSpacing="10dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

gridview 将显示如下: Image

我想让每个图像都显示为正方形,所以我将 Framelayout 的宽度和高度设置为 125dp 以上,但它不起作用,帮助我,我是初学者:(

这是由于图像大小造成的。 FrameLayout 正在取 ImageView 的高度。将 ImageView 高度设置为与 FrameLayout 相同,如下所示 -

<FrameLayout android:id="@+id/framelayout"
             xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="125dp"
             android:layout_height="125dp">

    <ImageView
        android:id="@+id/imageViewGrid"
        android:layout_width="125dp"
        android:layout_height="125dp"
        android:scaleType="fitXY"
        android:src="@color/colorAccent"/>

    <TextView

        android:id="@+id/textViewGrid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center|bottom"
        android:text="test"/>

</FrameLayout>