¿Cómo puedo obligar a un GridView a usar toda la pantalla (independientemente del tamaño de la pantalla)?

Tengo el siguiente archivo de diseño, que tiene unaGridView y unImageView detrás de eso como fondo.

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#FFFFFF">
    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|right"
            android:layout_marginRight="-70dp"
            android:layout_marginBottom="-50dp"
            android:src="@drawable/s_background"/>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent">
        <GridView xmlns:android="http://schemas.android.com/apk/res/android"
                  android:id="@+id/gridview"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:columnWidth="90dp"
                  android:numColumns="auto_fit"
                  android:verticalSpacing="10dp"
                  android:horizontalSpacing="10dp"
                  android:stretchMode="columnWidth"
                  android:gravity="center"/>
    </LinearLayout>
</FrameLayout>

Y este es el diseño que uso para el elemento real en cada "celda" de la cuadrícula:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <TextView
            android:id="@+id/cardInGrid"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:singleLine="true"
            android:textSize="40sp"
            android:textColor="#660099"
            android:typeface="serif"/>
</LinearLayout>

Estoy viendo lo siguiente en mi dispositivo en este momento:

¿Hay alguna forma de hacer que cada elemento en GridView sea más grande, por lo que se ajusta al tamaño de la pantalla y no tengo espacios en blanco no utilizados en la parte inferior de la pantalla?

Esto funciona bien en un emulador, pero en un dispositivo la resolución de la pantalla es más alta, por lo tanto, obtiene el espacio en blanco en la parte inferior.

Muchas gracia

Respuestas a la pregunta(3)

Su respuesta a la pregunta