Можно ли создать GridView, у которого есть дети разных размеров?


Итак, давайте попробуем объяснить, что я пытаюсь сделать...

У меня есть дизайн, который выглядит так -

![alt text][1]

Для этого я создал два вида сетки:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">

    <LinearLayout android:orientation="vertical"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content">

        <TextView style="@style/GroupName"
                  android:text="@string/currency_badges"/>

        <GridView android:id="@+id/currency_grid"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:columnWidth="90dp"
                  android:numColumns="auto_fit"
                  android:verticalSpacing="10dp"
                  android:horizontalSpacing="10dp"
                  android:stretchMode="columnWidth"
                  android:gravity="left"/>

    </LinearLayout>

    <LinearLayout android:orientation="vertical"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content">

        <TextView style="@style/GroupName"
                  android:text="@string/foursquare_badges"/>

        <GridView android:id="@+id/foursquare_grid"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:columnWidth="90dp"
                  android:numColumns="auto_fit"
                  android:verticalSpacing="10dp"
                  android:horizontalSpacing="10dp"
                  android:stretchMode="columnWidth"
                  android:gravity="left"/>

    </LinearLayout>
</LinearLayout>

Я не очень доволен этим, потому что, как вы можете видеть, метка верхнего правого значка скрыта. Я могу нажимать и прокручивать, но это не то, что я хочу. Кроме того, большая проблема заключается в том, что каждый GridView имеет свою собственную полосу прокрутки . Опять не то, что я хочу. Поэтому я думаю, что хотел бы использовать один GridView добиться этого. Как я могу использовать GridView, чтобы иметь значки, а затем показать имя группы в середине значков. Я знаю, что могу создать BaseAdapter для возврата различных типов представлений, но мне нужно иметь один элемент, который занимает горизонтально все пространство. Возможно ли это?

Редактировать:

Я думаю, что лучший вопрос заключается в том, как мне создать сгруппированные GridViews?

1 7

1 ответ:

Я не уверен, как вы добавляете элементы прямо сейчас, но вы можете посмотреть на использование SimpleAdapter. Он позволяет вам предоставить XML-макет и сопоставить элементы из ваших объектов данных в места в XML-макете. Есть несколько руководств по его использованию, если вы делаете быстрый поиск.