2010-12-13 3 views
7

essayons donc d'expliquer ce que je suis en train de faire ...Est-il possible de créer un GridView qui a des enfants de différentes tailles?

J'ai un design qui ressemble à ceci -

[alt texte] [1]

Pour cela, j'ai-je créé deux GridViews comme ceci:

<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> 

Je ne suis pas vraiment satisfait parce que vous pouvez voir l'étiquette de l'icône en haut à droite est caché. Je peux cliquer et faire défiler mais ce n'est pas ce que je veux. Aussi le plus gros problème est que chaque GridView A SON PROPRE SCROLLBAR. Encore pas ce que je veux. Donc je pense que je voudrais utiliser un GridView pour accomplir ceci. Comment puis-je utiliser un GridView pour avoir des icônes, puis afficher le GroupName au milieu des icônes. Je sais que je peux créer un BaseAdapter pour renvoyer différents types de vues, mais je dois avoir un élément qui prend horizontalement tout l'espace. Est-ce possible?

Edit:

Je suppose une meilleure question est de savoir comment puis-je créer GridViews groupes?

Répondre

0

Je ne suis pas sûr de la façon dont vous ajoutez des articles en ce moment, mais vous pourriez envisager d'utiliser un SimpleAdapter. Il vous permet de fournir une mise en page XML et de mapper des éléments de vos objets de données dans des emplacements de la mise en page XML. Il existe un certain nombre de tutoriels pour l'utiliser si vous faites une recherche rapide.

+0

C'est ce que je fais en ce moment. Sauf que j'utilise un BaseAdapter. Je sais que je peux retourner différentes vues. Ma question est quand je mets la largeur à fill_parent, ça ne marche pas. –

+0

Désolé, je pense que j'ai mal compris votre question (Bien que SimpleAdapter est probablement plus facile à utiliser que BaseAdapter). Vous dites que vous voulez un widget qui supporte plusieurs sections, chacune avec un GridView dedans. Je ne pense pas qu'il existe un tel widget hors de la boîte, vous auriez besoin de créer le vôtre. Combien d'icônes comptez-vous montrer? Si vous n'êtes pas concerné par la réutilisation des objets que GridView vous donne, vous pourriez probablement facilement accomplir ce que vous voulez avec un LinearLayout ou un TableLayout dans un ScrollView. –

+0

Après un examen attentif, je pense que ce n'est pas possible. Vous avez raison et j'ai besoin de créer mon propre widget qui ne vaut pas mon temps en ce moment. –

Questions connexes