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 :

Mise en page : problème avec match_parent


Sujet :

Android

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut Mise en page : problème avec match_parent
    Bonjour,

    J'essaye de mettre en place l'interface suivante :

    • un panel A en bas de l'application en wrap_content pour la hauteur.
    • un panel B qui doit prendre tout le reste de la hauteur (son contenu ensuite centré ou affichage d'une scrollbar selon que le contenu soit plus petit ou plus grand que panel).

    Je ne peux pas que mes composants se chevauche (comme ça pourrait l'être avec un RelativeLayout, ou un FrameLayout), j'utilise donc un LinearLayout. Je ne trouve aucun moyen à forcer mon Panel B à prendre à prendre la place qu'il reste. Si je lui met match_parent dans la hauteur, comme le panel B est déclaré avant le Panel A, il va prendre toute la hauteur de la fenêtre et masquer le panel A (si j'inverse l'ordre des déclarations dans le XML mes composants font la bonne taille mais le panel A est affiché au dessus du panel B, ce qui n'est pas ce que je cherche à avoir).


    Si quelqu'un sait comment faire ça en XML ?


    Actuellement j'ai une solutions, mais elle implique de modifier les propriétés du layout en Java, ce que j'aimerai éviter.

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Tu peux toujours jouer avec le RelativeLayout.

    en mettant ton panel B en below du A, et lui passer un match_parent comme attribut.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Oui un RelativeLayout marcherait très bien...

    Mais un simple LinearLayout suffit à mon avis: avec un layout_weight à 1, et un layout_height à 0 pour le panel B, et pas de layout_weight pour le A (ou le mettre à 0 ce qui est équivalent, et surtout en wrap_content).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Le RelativeLayout ne donne pas l'effet voulu car dans certain cas les panel se chevauchent. Je vais regarder avec un LinearLayout comme conseillé.

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Heu.... ben non ca marche très bien RelativeLayout, je viens de tester:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <RelativeLayout layout_width="match_parent" layout_height="match_parent">
     
        <XXXXX id="R:+id/A" layout_width="match_parent" layout_height="wrap_content" layout_alignParentLeft="true" layout_alignParentRight="true" layout_alignParentBottom="true" />
     
         <XXXX id="R;+id/B" layout_width="match_parent" layour_height="match_parent" layout_alignParentTop="true" layout_alignParentLeft="true" layout_aligneParentRight="true" layout_above="R:+id/A" />
     
    </RelativeLayout>
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    J'imagine que c'est ce que j'avais oublié. J'ai pas encore testé mais sans cette propriété, les panels peuvent se chevaucher. C'est le comportement que j'avais avec un RelativeLayout.

Discussions similaires

  1. Mise en page bizarre avec IE et FireFox
    Par blogger78 dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 01/08/2008, 22h34
  2. [AJAX] Perte de mise en page css avec UpdatePanel
    Par mappy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/01/2008, 20h53
  3. mise en page, probleme avec les CSS, dernier petit problème
    Par rdams dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 20/09/2007, 16h10
  4. [W3C] Mise en page html avec div ou tables selon vous ?
    Par zais_ethael dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 19/10/2006, 16h34
  5. Problème mise en page tableau avec Netscape
    Par langela94 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/02/2006, 14h31

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