Les colonnes dans la vue liste Android
Comment puis-je faire des colonnes dans Android ListView? J'ai cette liste en page de l'élément xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal">
<TextView android:layout_weight=".3" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/hour"
android:gravity="center" />
<ImageView android:id="@+id/symbol" android:scaleType="fitCenter"
android:layout_gravity="center_horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight=".5" />
<TextView android:layout_weight=".8" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/temperature"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/percipitation"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/wind_speed"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/wind_direction"
android:gravity="center" />
</LinearLayout>
Le problème, c'est quand le f.ex. wind_direction changer de "4" à "300", puis les colonnes ne sont pas alignés.
Le problème http://img185.imageshack.us/img185/2812/deviceo.png
Qui cela peut-il être fait avec une largeur fixe de colonnes et d'utiliser toute la largeur indépendant de périphériques?
InformationsquelleAutor Torstein I. Bø | 2010-08-31
Vous devez vous connecter pour publier un commentaire.
Envisager d'utiliser un TableLayout au lieu d'une ListView. Il est conçu pour avoir des lignes et des colonnes. Voir Bonjour TableLayout.
Pour ajouter des lignes par programmation, vous pouvez gonfler le TableRow et appel addView sur le TableLayout.
Vous pouvez utiliser layout_weight dans conjuntion avec layout_width de 0, comme ce à votre disposition des éléments xml:
Essentiellement la layout_width de 0dp les forces de tout le texte de vues ne pas avoir de largeur. Depuis de rechange largeur dans le linéaire de la mise en page est répartie selon la layout_weight après la largeur du texte a été déterminé que vous commencez avec un même terrain de jeu entre les zones de texte qui ont tous la même largeur (0). Sans le 0 largeur, les zones de texte, commencez à différentes largeurs et ajouter de l'espace supplémentaire (via le layout_weight) laisse encore les zones de texte de largeur différente.
Vous ne pouvait faire l'une de ces au lieu de wrap_content sur le TextViews:
ci-dessus définit la densité-indépendante de la largeur, ou
que vous pouvez utiliser pour définir le pourcentage de la largeur sur chaque affichage de texte.
Aussi de voir ce post et le lien:
Quelle est la différence entre "px", "dp", "dip" et "sp" sur Android?
Intègrent à la fois. Essayez d'utiliser TableLayout au lieu de LinearLayout de l'élément de liste wrapper. Je pense que j'ai vu que quelque part une fois. Jamais essayé moi-même.
http://www.vbsteven.be/blog/using-the-simpleadapter-with-a-listview-in-android/
Si vous avez beaucoup de données à l'écran, ne pas utiliser de TableLayout. La performance et la consommation de mémoire, c'est une horreur. Il pourrait prendre plusieurs secondes pour que vos données puissent être affichés et vous obtiendrez la Chorégraphe erreur que votre application est en train de faire trop de traitement dans le thread de l'INTERFACE utilisateur