IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Changer typeface ListView personnalisée


Sujet :

Composants graphiques Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 256
    Points : 74
    Points
    74
    Par défaut Changer typeface ListView personnalisée
    Bonjour,
    Je souhaite modifier la police de caractère d'une listview personnalisée.

    Voici le code de la construction de la listeview:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	SimpleAdapter miseEnFormeItems = new SimpleAdapter (getBaseContext(), listItem, R.layout.affichageitem,
                   new String[] {"img", "titre", "description"}, new int[] {R.id.img, R.id.titre, R.id.description});
    	listViewPerso.setAdapter(miseEnFormeItems);
    Je voudrais changer la police du "titre" par exemple (ce qui équivaut à Word, Excel, etc... dans le tuto). Un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextView text = ((TextView)findViewById(R.id.titre));
    ne fonctionne pas, puisque ces texviews sont dans un autre fichier xml.

    Pouvez-vous m'aider ?
    Merci.

  2. #2
    Membre habitué Avatar de linked
    Profil pro
    Développeur Android
    Inscrit en
    Mai 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Android

    Informations forums :
    Inscription : Mai 2008
    Messages : 88
    Points : 133
    Points
    133
    Par défaut
    Il faut utiliser une autre méthode pour avoir plus de contrôle, à la place de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SimpleAdapter miseEnFormeItems = new SimpleAdapter (getBaseContext(), listItem, R.layout.affichageitem,
                   new String[] {"img", "titre", "description"}, new int[] {R.id.img, R.id.titre, R.id.description});
    utilise plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    class CustomAdapter extends ArrayAdapter {
     
        	CustomAdapter() {
        		super(ListEvent.this, R.layout.affichageitem, TaListDeValeurADisplay);
        	}
     
        	public View getView(final int position, View convertView,ViewGroup parent) {
            	View row=convertView;
            	if (row==null) {
            		LayoutInflater inflater=getLayoutInflater();
            		row=inflater.inflate(R.layout.affichageitem, parent, false);
            	}
            	//initialise les view
            	Typeface tf=Typeface.createFromAsset(getAssets(), "fonts/lafonte.ttf");
     
                    TextView titre=(TextView)row.findViewById(R.id.titre);
            	titre.setTypeface(tf);
     
            	return(row);
     
            } // getview
          }
    et pour lancer ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setListAdapter(new CustomAdapter());
    On peut optimiser tout ça avec un ViewHolder mais je veut pas compliquer la chose pour le moment.
    Applications et jeux gratuits sur http://www.kamaxandroid.com

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 256
    Points : 74
    Points
    74
    Par défaut
    ok, je vais fouiller de ce côté là alors...
    Mais il faut lui passer les paramètres au constructeur CustomAdapter() non ?

    Merci en tout cas

  4. #4
    Membre habitué Avatar de linked
    Profil pro
    Développeur Android
    Inscrit en
    Mai 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Android

    Informations forums :
    Inscription : Mai 2008
    Messages : 88
    Points : 133
    Points
    133
    Par défaut
    Pas besoin si tu met la classe dans le même fichier que ton activity. Le code peut être utilisé tel quel.

    Par contre si tu le met dans un fichier à part, alors oui il faut lui passer des paramètres et modifier un peu le code que j'ai mis.
    Applications et jeux gratuits sur http://www.kamaxandroid.com

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 256
    Points : 74
    Points
    74
    Par défaut
    Oui de toute façon je ne met pas 2 classes dans le même fichier...

  6. #6
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 605
    Points : 18 523
    Points
    18 523
    Par défaut
    Si tu utilises un Adapter qu'à un seul endroit tu peux mettre cette classe qu'extends BaseAdapter dans une classe qu'extends Activity.

    Et c'est pas tout à fait 2 classes dans le même fichier, c'est plutôt une classe dans une classe.

    Mais bon c'est vrai que c'est plus sympa de ne pas faire ce genre de chose.
    Keith Flint 1969 - 2019

Discussions similaires

  1. ListView personnalisée : colorer le focus
    Par frAydjwe dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 02/03/2012, 09h21
  2. UserControl (ListView personnalisée)
    Par Plawi dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 21/11/2011, 17h08
  3. Changer couleur listview SelectedItem
    Par miky77 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 27/10/2011, 11h14
  4. [ListView] ListView personnalisée avec tri alphabétique
    Par Nuzei dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 02/03/2011, 12h14
  5. Problème listView personnalisée
    Par Draker95 dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 18/08/2010, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo