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

Android Discussion :

ListActivity & Footer/Header


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut ListActivity & Footer/Header
    Hello!

    Voilà, ma problématique du moment: je voudrais afficher en permanence un footer AdMob lors de l'affichage de ma ListActivity.

    J'ai déjà essayé plein de solutions trouvées sur le net, MAIS aucune ne me donne un footer fixe/static... même si le topic du tuto/post le certifie!

    A chaque fois, footer/header défile avec les éléments de la liste de data....

    D'où ma question:
    -> est-ce vraiment possible avec une ListActivity standard "toute faite"? et alors comment?
    OU
    -> dois-je laisser tomber la ListActivity et gérer ça moi même avec un layout contenant 1 ListView (4/5) & mon footer (1/5)?

    Merci.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 87
    Points
    87
    Par défaut
    Tu vas devoir en effet placer ta ListView entre un Footer et un Header "manuel"


    Un truc "du genre"



    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
    24
    25
    26
    27
    28
     
     
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
     >
        <RelativeLayout
            android:id="@+id/header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/header_main">
        </RelativeLayout>
     
        <ListView
            android:id="@+id/listViewAccount"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
        </ListView>
     
        <RelativeLayout
            android:id="@+id/footer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
             >
        </RelativeLayout>
    </LinearLayout>

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Ok, donc tu confirmes bien qu'une ListActivity standard ne peut pas être modifiée/adaptée pour faire ça?

    Pas moyen de mettre un footer en sur-impression?

    Pour faire avancer le schmillblick, des exemples de ce que j'ai trouvé mais qui ne marchent pas because scrolling et non footer fixe!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SectionListView adapter = new SectionListView(this, listeAffichage);
    ListView lv = getListView();
    LayoutInflater inflater = getLayoutInflater();
    View footer = inflater.inflate(R.layout.liste_footer, (ViewGroup) findViewById(R.id.footer_layout_root));
    lv.addFooterView(footer);
    setListAdapter(adapter);
    ou

    avec une classe MergeAdapter permettant de fusionner plusieurs éléments:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SectionListView adapter = new SectionListView(this, listeAffichage);
    MergeAdapter m = new MergeAdapter();
    LinearLayout l = new LinearLayout(this);
    l = (LinearLayout)findViewById(R.id.footer_layout_root);
    m.addAdapter(adapter);
    LayoutInflater inflater = getLayoutInflater();
    View footer = inflater.inflate(R.layout.liste_footer, (ViewGroup) findViewById(R.id.footer_layout_root));
    m.addView(footer);
    setListAdapter(m);

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Par contre, comment limiter la hauteur d'une listview, pas en nombre de pixels, mais en %?

    Si je mets des pixels, la mise en page ne sera pas la même en fonction des écrans...

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Bonjour,
    j'ai eu le même problème admob et listactivity.

    J'ai résolu à l'aide de RelativeLayout.


  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Tu peux développer un peu STP?

  7. #7
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Les méthodes addHeaderView() et addFooterView() de la ListView ne peuvent pas répondre à ton besoin ?

    Documentation : http://developer.android.com/referen...d.view.View%29
    http://developer.android.com/referen...,%20boolean%29


    Sinon, le faire artificiellement avec un layout global contenant le header, la listview, puis le footer.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par steph68b Voir le message
    Tu peux développer un peu STP?
    Franchement je ne me souviens pas exact de code.
    Mais tous ce que je peux est de déclarer une RelativeLayout que contient ton listactivity et le addmob .
    Ensuite tu va jouer sur la caractéristique en bas et en haut de relativelayout avec fixation de addmob en bas.

    Essayez avec ce démarche et nous fournis la réponse si tu a réussi de trouver la bonne réponse.

    Si je trouve le code je veux le publier

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Oui c'est ce que je viens de faire en fait.

    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
    24
    25
     
        <RelativeLayout
            android:id="@+id/footer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="FOOTER" >
     
            <ListView
    	        android:id="@+id/android:list"
    	        android:layout_width="fill_parent"
    	        android:layout_height="fill_parent" >
        	</ListView>
     
            <com.google.ads.AdView        
    		xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"       
    		android:id="@+id/adView"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:layout_centerInParent="true"
    		android:layout_alignParentBottom="true"   
    		ads:adUnitId="xxxxxxxxxxxxxxxxxx"
    		ads:adSize="BANNER"
    		ads:testDevices="TEST_EMULATOR, 2B8B585F92C97612132BB9768B2208A8"
    		ads:loadAdOnCreate="true"/>
        </RelativeLayout>
    SAUF que le alignParentBottom n'est pas appliqué!
    -> alignParentTop = "true" marche impeccable lui
    -> mais impossible d'aligner en bas(???)
    -> peu importe que android:layout_centerInParent="true" soit là ou pas, mon banner est TOUJOURS au milieu du layout <> en bas

  10. #10
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Laisse tomber!

    Après un Nième test, ça marche maintenant.......... ça sent la fin de journée ça!!!

  11. #11
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par steph68b Voir le message
    Laisse tomber!

    Après un Nième test, ça marche maintenant.......... ça sent la fin de journée ça!!!
    biennnnnnnnn
    j'espère que je vous ai guidé

  12. #12
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par steph68b Voir le message
    Laisse tomber!

    Après un Nième test, ça marche maintenant.......... ça sent la fin de journée ça!!!
    Tag Résolu SVP

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Heu........... parlé trop vite finalement!

    En fait reste un petit soucis dans mon code:
    -> la listview occupe TOUTle relativelayout
    -> et le bandeau pub est simplement superposé dessus

    Résultat des courses: la dernière ligne de la liste est masquée par le bandeau!

  14. #14
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par steph68b Voir le message
    Heu........... parlé trop vite finalement!

    En fait reste un petit soucis dans mon code:
    -> la listview occupe TOUTle relativelayout
    -> et le bandeau pub est simplement superposé dessus

    Résultat des courses: la dernière ligne de la liste est masquée par le bandeau!
    Bonjour,

    ajoutez un margin bottom de 10 ou 15dp pour ta liste

  15. #15
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    nickel!

  16. #16
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 87
    Points
    87
    Par défaut
    Citation Envoyé par tlili_info Voir le message
    Bonjour,

    ajoutez un margin bottom de 10 ou 15dp pour ta liste
    Beurkkk beurk beurkk ... c'est quoi ce bricolage ? C'est vraiment pas une façon de coder que je préconiserais

    Il y a plusieurs possibilités.

    1) Soit comme je l'ai présenté dans ma première réponse, utiliser un LinearLayout en orientation verticale. Dans ce cas tes header/footer "manuels" ne se superposeront pas à ta ListView.

    Pour gérer les tailles (en hauteur), soit tu décides de faire des header/footer en wrap_content et ta ListView en match_parent, soit tu peux travailler avec les POIDS (weight).

    2)Soit tu utilises un RelativeLayout et pour positionner tes View, tu utilises les attributs layout_below , layout_above, etc...

    Pour la question de l'utilisation de l'activité ListActivity, sache qu'en fait elle n'a rien de plus qu'une Activity si ce n'est qu'elle possède par défaut un layout ne contenant qu'une ListView. Donc à priori, si tu comptes avoir plus qu'une ListView dans ton layout et bien c'est totalement équivalent (ou presque) d'utiliser une Activity puisque tu devras quand même définir un Layout.

    Plus d'informations : http://www.vogella.com/articles/Andr...ctivity_layout

  17. #17
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par Largo13 Voir le message
    Beurkkk beurk beurkk ... c'est quoi ce bricolage ? C'est vraiment pas une façon de coder que je préconiserais
    Peut etre ouu et peut etre non.
    Peut être un simple astuce peut résoudre un problème et d'ailleurs j'ai rencontré le même problème avant dans une application ....

  18. #18
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Ok, je vais creuser encore un peu, merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Footer Header coloré
    Par GrooveRage dans le forum Mise en forme
    Réponses: 3
    Dernier message: 11/08/2009, 19h42
  2. [FPDF] Méthodes header et footer
    Par dun73 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/03/2006, 10h00
  3. [CSS] Pb header footer et div scrollable
    Par hurricane dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 02/03/2006, 10h40
  4. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  5. [C#]dimension fixe footer et header datagrid
    Par Dos dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/01/2004, 17h45

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