Android, горизонтальный и вертикальный прокрутки для GridLayout

У меня возникли проблемы с тем, чтобы GridLayout прокручивался по горизонтали.

Я нашел аналогичный вопрос Gridlayout + ScrollView . Я пробовал этот метод, но это не сработало.

Он вырезает много таблиц (потому что он должен был отображать все таблицы от 1 до 20).

Вот xml-файл

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:padding="16dp" > <android.support.v7.widget.GridLayout android:id="@+id/table_mapGrid" android:layout_width="250dp" android:layout_height="wrap_content" /> </LinearLayout> </ScrollView> <include layout="@layout/cell_list_loading" /> <TextView android:id="@+id/table_errorView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="20dp" android:text="@string/message_error_connection" android:visibility="invisible" /> </FrameLayout> 

Я хочу, чтобы динамический контент отображался, изменяя количество столбцов и строк, возможно, с пустым пространством между таблицами. Это я выполнил, но проблема в том, что ширина GridLayout становится больше, чем у его контейнера, я хотел решить, используя горизонтальную прокрутку, но, похоже, не работает …

Любое предложение?

Я нашел решение

Похоже, что scrollView для Android работает как VerticalScrollView и только это (имя не так интуитивно понятно, как HorizontalScrollView).

Чтобы сделать что-то прокручиваемое по вертикали и по горизонтали, вам нужно вложить (вертикальный) ScrollView в HorizontalScrollView или наоборот, как это

 <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <HorizontalScrollView android:layout_width="wrap_content" android:layout_height="match_parent"> <!-- Your content here --> </HorizontalScrollView> </ScrollView> 

Вложенное HorizontalScrollView / ScrollView не позволит вам прокручивать оба направления одновременно. У меня была эта проблема, и для нее был создан специальный компонент, вот ссылка, если она может помочь кому-либо:

https://gist.github.com/androidseb/9902093