2013-05-05 3 views
1

J'ai un ListView avec 10 colonnes et un en-tête. Comme vous pouvez le voir dans l'image suivante, les lignes ne sont pas alignées avec l'en-tête. Si le texte dans les TextViews était centré, il semble que le problème résoudrait. J'ai essayé beaucoup de choses, mais aucune n'a fonctionné.Rendre ListView aligner les éléments correctement

* NOTE: Ne me dites pas s'il vous plaît d'utiliser un TableLayout. Je l'ai déjà fait mais le chargement était beaucoup plus lent.

Voici le xml du ListView:

 <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@id/LinearLayout1" 
     android:background="#d9d9d9" > 

    </ListView> 

Voici le xml list_header:

<TableRow xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/TableRow1" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/header_back" 
android:orientation="horizontal" > 

<TextView 
    android:id="@+id/stockNumTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/stockNum" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/shapeTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/shape" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/weightTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/weight" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/colorTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/color" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/clarityTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/clarity" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/cutGradeTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/cutGrade" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/labTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/labb" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/priceTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/price" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/discountTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="@string/disc" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 

<TextView 
    android:id="@+id/statusTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_weight="1" 
    android:text="@string/status" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textSize="16sp" /> 
</TableRow> 

Voici le xml list_item:

<TableRow xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/TableRow1" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/list_item_selector" 
android:clickable="true" 
android:orientation="horizontal" > 

<TextView 
    android:id="@+id/stockNumTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/stockNum" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/shapeTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/shape" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/weightTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/weight" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/colorTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/color" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/clarityTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/clarity" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/cutGradeTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/cutGrade" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/labTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/lab" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/priceTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/price" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/discountTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/disc" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@android:color/black" 
    android:textSize="14sp" /> 

<TextView 
    android:id="@+id/statusTxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginBottom="4dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="1" 
    android:text="@string/status" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@color/red" 
    android:textSize="14sp" /> 
</TableRow> 

Merci!

Répondre

0

faire la même chose pour tailles des caractères en-tête et vous Items- 14SP DDI pour les articles et 16SP pour en-tête, et aussi supprimer la marge d'éléments, si la question toujours garder même, mettre la marge/rembourrage à la liste des articles

+0

Le texte les tailles ont fait mieux, mais je veux quand même que chaque élément de la liste soit centré sous chaque en-tête. Je veux dire que disons que la lettre d'état, devrait être centrée sous l'en-tête de statut. –

+0

ah ok, alors mettre cet attribut dans chaque élément de la liste, android: gravité = "center_horizontal" ou vous pouvez le mettre en attribut de ligne de table, les deux façons devraient fonctionner –

+0

toujours rien. reste le même ... –

Questions connexes