Да, как сказал Нгуен, упаковка всего кода XML во вложенное представление прокрутки будет работать, он даже щедро помог предоставить вам окончательный код.
Тем не менее, я хотел бы попытаться уточнить почему это работает. В настоящее время ваш GridView прокручивается в основном потому, что это свойство макета GridView. Как видно из документации «Представление, которое показывает элементы в двумерной прокручивающейся сетке . Элементы в сетке берутся из ListAdapter, связанного с этим представлением». https://developer.android.com/reference/android/widget/GridView
Чтобы сделать любой другой компонент прокручиваемым, вам понадобится ScrollView, который позволит этому View прокручиваться по вертикали, вы можете добавить HorizontalScrollView, если вы хотите иметь вид с горизонтальной прокруткой.
Но для вашего конкретного случая использования вместо этого вам потребуется добавить NestedScrollView, поскольку у вас несколько представлений, а не только одно дочернее представление. Как определено, «NestedScrollView похож на ScrollView, но поддерживает роль вложенного родительского и дочернего элемента прокрутки как в новой, так и в старой версии Android. Вложенная прокрутка включена по умолчанию».
https://developer.android.com/reference/androidx/core/widget/NestedScrollView
Надеюсь, что это поможет вам лучше ответить на решение, а не просто использовать данный ответ!