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 :

Problème image dans un layout


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 20
    Par défaut Problème image dans un layout
    Salut à tous,
    Bon j'ai un petit souci. Et j'ai besoin de votre aide

    Je vous explique j'ai dans mon activity, un linearlayout global qui contient deux autre linéaire, le premier contient une view qui vient d'une classe que j'ai créé héritant de View afin d'utiliser la méthode onDraw(Canvas) qui me permet de dessiner une image puis d'autres images par dessus.

    Le problème est que mon image( en faite plutôt ma View personnalisé) ne se taille pas au Layout et je galère à lui faire prendre la taille de celui-ci.

    Aidez moi!

    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
    LinearLayout linearglobal= new LinearLayout(getApplicationContext());
    			linearglobal.setOrientation(LinearLayout.VERTICAL);
    			LinearLayout linearimg= new LinearLayout(getApplicationContext());
    			linearimg.setOrientation(LinearLayout.VERTICAL);
    			LayoutParams linearimgparam=new LayoutParams(-1, 500);
    			linearimg.setLayoutParams(linearimgparam);
     
    			Map= new Map(this);// Ma view personnalisé
     
    			linearbouton....
    	                ...
     
    			linearimg.addView(map);
    			linearglobal.addView(linearimg);
    			linearglobal.addView(linearbouton);
     
     
    			setContentView(linearglobal);

    Exemple:

  2. #2
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Par défaut
    Tu peux définir un Layout avec les constantes FILL_PARENT et utiliser la méthode addView qui le prend en paramètre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);
    linearimg.addView(map,lp)
    ...
    ;
    La manière dont tu crées tes views n'est pas celle qui est conseillée. Essaye d'utiliser les fichiers XML même si au début ça peut paraître difficile.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 20
    Par défaut
    Salut Xavier,

    Je comprend ce que tu me propose mais le problème c'est que l'image est assez grande et je ne veux pas modifier ses caractéristiques juste l'afficher entière dans mon linearimg.

    Du coup je me retrouve cette fois avec ma page entièrement rempli par mon image qui n'est pas entière.

  4. #4
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 20
    Par défaut
    Pour utiliser ScaleType il faut que ma view soit de type imageview, c'est à dire que Map hérite de ImageView, mais il s'affiche pas quand je fais un addView de ma map mais sa marche seulement si je fais un setContentView(map) mais la je n'ai pu mes Layout.

    Autre solution:
    Je pourrais faire mes Layout via Xml mais le problème c'est que une fois recupérer l' imageview ( ImageView img=(ImageView)findViewById(R.id.img) ) je ne sais pas comment remplir celle ci par ma Map.

  6. #6
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Par défaut
    Normalement avec le LayoutParams ça doit marcher. Tu précises les dimensions avec FILL_PARENT (le view adapte ses dimensions à l'espace réservé par le contenant) ou WRAP_CONTENT (le view utilises l'espace nécessaire pour s'afficher intégralement).

    Ton Map c'est quel type view ?

Discussions similaires

  1. Problème d'insertion d'une image dans un layout avec weight
    Par Devil Shark dans le forum Composants graphiques
    Réponses: 16
    Dernier message: 02/10/2013, 15h53
  2. [MySQL] problème image dans code php
    Par ptiteuf dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2010, 05h50
  3. Problème image dans JTable
    Par Polux000 dans le forum Composants
    Réponses: 1
    Dernier message: 03/12/2008, 12h03
  4. [Struts-Layout] image dans un layout:collection
    Par tomy29 dans le forum Struts 1
    Réponses: 50
    Dernier message: 18/07/2008, 10h51
  5. Problème images dans l'intranet
    Par twa4ever dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/12/2007, 12h06

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