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 de layout


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 55
    Par défaut Changer de layout
    Bonjour,
    Je souhaiterais savoir si il etait possible de changer de layout au cours de l'execution du programme ?

    Voici le code que j'ai tenté :

    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
     public void onCreate(Bundle savedInstanceState) {
        	try{
        		super.onCreate(savedInstanceState);
     
            	setContentView(R.layout.main);
     
        		Thread.sleep(2500);
     
     
        		setContentView(R.layout.principal);
     
        	}
        	catch( InterruptedException e ){
     
        	}
    }
    Malheureusement ça ne marche pas, l'application m'affiche directement le layout principal :s

    Si ce n'est pas possible, comment faire pour modiier un imageview au cours de l'execution?

    Je suis un débutant total, donc soyez clément avec moi

    Cordialement

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut
    bloque ton application puis change le layout. DOnc tu n'as pas vue le changement de layout
    Si tu veux essayer, charge le premier layout, récupère un bouton et fait lui changer de layout lors du click.

    Suivre aussi ces cours et tutoriels Android : http://algo.developpez.com/cours/

  3. #3
    Expert confirmé

    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
    Par défaut
    Bonjour,

    Surtout que le chargement du layout ne se fait qu'après le onResume je crois, donc si tu changes le layout avant celui ci seul le dernier donné sera affiché.

    La proposition de Yan te montrera que l'on peut changer le layout .

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 55
    Par défaut
    Merci de vos réponses rapides et pour les cours Android, donc si je comprends bien, quand je fais un sleep, c'est normal que l’écran soit noir ?
    Le problème avec la solution de yan est que j'aurais voulu que le changement se fasse automatiquement... Connaissez vous un autre la solution par hasard ??

    Cordialement

  5. #5
    Expert confirmé

    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
    Par défaut
    Le problème avec la solution de yan est que j'aurais voulu que le changement se fasse automatiquement... Connaissez vous un autre la solution par hasard ??
    Cela peut se faire aussi automatiquement, Yan te proposait juste de positionner un bouton pour que tu puisse voir le changement de layout.

    Maintenant comme yan te l'a signalé , le sleep te créer un écran noir car tu bloque l'activity pendant 2.5s et en plus l'affichage du layou ne se fera qu'à partir du OnResume , donc si tu changes avant le layout cela n'aura aucun effet visuel pour l'utilisateur.


    Edit:
    Si ce n'est pas possible, comment faire pour modiier un imageview au cours de l'execution?
    C'est la bitmap que tu veux modifier, les propriété de ton imageView , ...?

    Car cela peut se faire dynamiquement sans changer de layout.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 55
    Par défaut
    C'est dans quel but ? faire un splash screen ? Car sinon sans l'utilisation de thread, je vois pas comment faire ca proprement
    Oui, c'est pour faire un splash screen...

    Un timer, mais je te le dé-conseil si tu débute. Car y as des notions d'eventloop, thread principale & co à connaitre.

    l'alarmManager, mais pareil, faut des notions d'intent et pendingInten.
    Ca ma l'air bien compliqué tout ca... je crois pour l'intant je vais faire simple et quand je m'y connaitrais un peu plus j’améliorais

    En tout cas merci pour votre aide.

    J'ai une autre petite question (un peu out-topic...)

    Es-il possible de d'utiliser une variable pour nommé un widget ?? Je vais tenter d'expliquer avec un bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      TypeVariable var = valeurVar;
      Widget wid = (Widget)findViewById(var);
    Cordialement
    PS : ne me lynché pas pour le out-topic...

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par YohDono Voir le message
    Connaissez vous un autre la solution par hasard ??
    Un timer, mais je te le dé-conseil si tu débute. Car y as des notions d'eventloop, thread principale & co à connaitre.

    l'alarmManager, mais pareil, faut des notions d'intent et pendingInten.

    ViewSwitcher ou ViewFlipper.

    Surement d'autre méthode.

    Après, je ne sais pas ce que tu veux faire concrètement

  8. #8
    Membre chevronné

    Inscrit en
    Décembre 2009
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 146
    Par défaut
    C'est dans quel but ? faire un splash screen ? Car sinon sans l'utilisation de thread, je vois pas comment faire ca proprement

Discussions similaires

  1. Changer le layout strategy sur un JEditorPane
    Par NicoV dans le forum Composants
    Réponses: 0
    Dernier message: 29/11/2012, 16h23
  2. [1.x] changer de layout avec un form
    Par erictomcat dans le forum Symfony
    Réponses: 6
    Dernier message: 26/01/2011, 15h38
  3. Comment changer le layout
    Par sovo dans le forum NetBeans
    Réponses: 3
    Dernier message: 30/07/2010, 11h42
  4. Rajouter un item sans changer le layout
    Par clmisen dans le forum Reports
    Réponses: 2
    Dernier message: 04/08/2009, 11h27
  5. Changer le layout du clavier
    Par AlphaTwo dans le forum C++
    Réponses: 1
    Dernier message: 26/01/2007, 07h51

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