Intereting Posts
ListView прокручивает выбранный элемент Как Android вычисляет кеш и размер данных? Android Proguard java.io.IOException: невозможно прочитать [proguard.ClassPathEntry Как можно раздуть макет, содержащий список в диалоговом окне предупреждения? Уменьшить ширину, высоту и размер текста в меню Эмулятор Genymotion: Ошибка установки: INSTALL_FAILED_MISSING_SHARED_LIBRARY Вы не приняли лицензионные соглашения следующих компонентов SDK Использование onSaveInstanceState с фрагментами в backstack? АБР не отвечает. Вы можете подождать больше или уничтожить процесс «adb.exe» вручную и нажать «Перезагрузить», Как обновить базу данных, не удаляя данные, введенные пользователем в предыдущей базе данных? Не удается разрешить метод getMap () Флажок в ExpandableListView Как вычислить dp из пикселей в android программно Какие ошибки обнаруживаются в «сборке» в Android Studio – роль Gradle Избежать исключения RejectedExecutionException в Android 4.4, когда приложение использует список

Отображение Gridview в соответствии с фактической высотой в прокрутке

<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/titleBarBG" android:layout_alignParentLeft="true" > <RelativeLayout android:id="@+id/scrollContent" android:layout_width="fill_parent" android:layout_height="wrap_content" > <GridView android:id="@+id/issueList" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/archiveTitle" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:background="@drawable/customshape" android:numColumns="3" android:overScrollMode="never" android:scrollbars="none" > </GridView> </RelativeLayout> </ScrollView> 

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

Как это реализовать? благодаря

Solutions Collecting From Web of "Отображение Gridview в соответствии с фактической высотой в прокрутке"

 public class MyGridView extends GridView { public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } public MyGridView(Context context) { super(context); } public MyGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } } 

Это немного очищенная версия: Сетка изображений внутри ScrollView

WrappedGridView.java:

 /** * Use this class when you want a gridview that doesn't scroll and automatically * wraps to the height of its contents */ public class WrappedGridView extends GridView { public WrappedGridView(Context context) { super(context); } public WrappedGridView(Context context, AttributeSet attrs) { super(context, attrs); } public WrappedGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // Calculate entire height by providing a very large height hint. // View.MEASURED_SIZE_MASK represents the largest height possible. int expandSpec = MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); ViewGroup.LayoutParams params = getLayoutParams(); params.height = getMeasuredHeight(); } } 

Включите в XML-макет, как и GridLayout. Используйте адаптер для просмотра.

Насколько я могу судить, это самое простое решение, доступное сейчас. В структуре, которая обрабатывает упаковку, нет другого представления. Было бы неплохо, если бы кто-то предоставил элегантный, автоматически подгоняемый стол. Модификация GridView.java для этой цели может быть плохой идеей.

Кроме того, вы можете найти один из проектов «FlowLayout» приемлемым. Существует android-flowlayout и FlowLayout . Они немного более гибкие, чем простая сетка, и, я полагаю, немного менее эффективны. Вам также не нужно предоставлять им адаптер.