Xero Posté(e) 19 novembre 2010 Share Posté(e) 19 novembre 2010 Bonjour, après plusieurs recherches déspérées sur le sujet, je vous demande votre aide ! J'ai une ListView contenant des éléments récupérés sur le web. Le seul souçi est l'alignement de ses éléments. Comme une image vaut mieux que mille mots : Quelle solution est envisageable ? J'ai essayé de mixer avec un TableLayout mais sans succès. En attendant vos éventuelles propositions, je vous remercie d'avance ! Xero Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 20 novembre 2010 Share Posté(e) 20 novembre 2010 GridView Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xero Posté(e) 22 novembre 2010 Auteur Share Posté(e) 22 novembre 2010 Merci beaucoup, je l'avais pas vu celui-là ! Je marque résolu après avoir testé Bonne journée Xero Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xero Posté(e) 22 novembre 2010 Auteur Share Posté(e) 22 novembre 2010 Bonjour, cela ne change pas mon problème. Voici le code main.xml <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:columnWidth="90dp" android:numColumns="1" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:stretchMode="columnWidth" android:gravity="left" /> affichageitems.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/position" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/nom" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/joues" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/victoires" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/defaites" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/egalites" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/buts" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/points" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> Main.java package com.hadronanomaly.testtab; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.widget.GridView; public class Main extends Activity { /** Called when the activity is first created. */ ArrayList<Equipe> equipes = new ArrayList<Equipe>(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); equipes.add(new Equipe(0, "blabla", "1", "1", "1", "1", "1", "1", "1")); equipes.add(new Equipe(0, "blublu", "1", "10", "1", "1", "1", "1", "1")); equipes.add(new Equipe(0, "blabla", "1", "1", "1", "1", "1", "1", "1")); equipes.add(new Equipe(0, "blublu", "1", "10", "1", "1", "1", "1", "1")); equipes.add(new Equipe(0, "blabla", "1", "1", "1", "1", "1", "1", "1")); equipes.add(new Equipe(0, "blublu", "1", "10", "1", "1", "1", "1", "1")); GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new myAdapter(this, equipes)); } } MyAdapter.java package com.hadronanomaly.testtab; import java.util.ArrayList; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class myAdapter extends BaseAdapter { private ArrayList<Equipe> equipes; private LayoutInflater myInflater; public myAdapter (Context context, ArrayList<Equipe> _equipes) { this.myInflater = LayoutInflater.from(context); this.equipes = _equipes; } @Override public int getCount() { return this.equipes.size(); } @Override public Object getItem(int arg0) { return this.equipes.get(arg0); } @Override public long getItemId(int position) { return position; } public static class ViewHolder { TextView text01; TextView text02; TextView text03; TextView text04; TextView text05; TextView text06; TextView text07; TextView text08; ImageView iconeEquipe; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = myInflater.inflate(R.layout.affichageitem, null); holder = new ViewHolder(); holder.text01 = (TextView) convertView.findViewById(R.id.position); holder.text02 = (TextView) convertView.findViewById(R.id.nom); holder.text03 = (TextView) convertView.findViewById(R.id.joues); holder.text04 = (TextView) convertView.findViewById(R.id.victoires); holder.text05 = (TextView) convertView.findViewById(R.id.defaites); holder.text06 = (TextView) convertView.findViewById(R.id.egalites); holder.text07 = (TextView) convertView.findViewById(R.id.buts); holder.text08 = (TextView) convertView.findViewById(R.id.points); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.text01.setText(""+equipes.get(position).position); holder.text02.setText(equipes.get(position).nom); holder.text03.setText(equipes.get(position).joues); holder.text04.setText(equipes.get(position).victoires); holder.text05.setText(equipes.get(position).defaites); holder.text06.setText(equipes.get(position).egalites); holder.text07.setText(equipes.get(position).buts); holder.text08.setText(equipes.get(position).points); return convertView; } } Ce qui donne : Affichage Si vous avez une idée, je suis preneur ^^ Bonne journée Xero Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoD Posté(e) 22 novembre 2010 Share Posté(e) 22 novembre 2010 Et si dans ton fichier "affichageitems.xml" tu donnais des longueurs fixes aux TextView par ex : <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/position" android:layout_width="5dip" android:layout_height="wrap_content"/> <TextView android:id="@+id/nom" android:layout_width="50dip" android:layout_height="wrap_content"/> etc... Il doit y avoir une largeur max d'écran en "dip" commune à toutes résolutions d'écrans, le tout c'est que le total des tailles tes colonnes ne dépasse pas cette largeur maxi. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 22 novembre 2010 Share Posté(e) 22 novembre 2010 @CoD : mauvaise idée Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xero Posté(e) 30 novembre 2010 Auteur Share Posté(e) 30 novembre 2010 XD je me sens con en voyant la simplicité de la solution ! Merci CoD! Avant de modifier le sujet en résolu, je voudrais savoir pourquoi tu trouves que c'est une mauvaise idée Pierre87 ? Merci de vos réponses :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 30 novembre 2010 Share Posté(e) 30 novembre 2010 parce que les écrans ont tous des résolutions différentes? Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoD Posté(e) 2 décembre 2010 Share Posté(e) 2 décembre 2010 parce que les écrans ont tous des résolutions différentes? C'est bien pour ça que j'utilise le "dip" comme unité au lieu du pixel, ça donne une "quasi" indépendance au niveau de la résolution des écrans. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 2 décembre 2010 Share Posté(e) 2 décembre 2010 oui, mais non! :P les écrans ne font pas tous la même taille/dimension/résolution! même en dip! ok, une grande partie des téléphones ont une largeur de 320 dip en mode portrait (la hauteur varie souvent par contre) mais c'est CRADE de faire un code qui suppose que l'écran fait toujours 320 dip de large! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.