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 :

Problème avec draw9patch et splashscreen


Sujet :

Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Par défaut Problème avec draw9patch et splashscreen
    Bonjour,

    j'essaie de mettre en place un splashscreen sur mon application et d'utiliser une image extensible pour ce faire...

    Seul pb c'est que mon image ne bouge pas...

    J'essaie avec celle là :

    Le code de mon fichier xml est celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:gravity="center">
     
        <ImageView android:id="@+id/splash"
            android:layout_width="fill_parent" 
        	android:layout_height="fill_parent"
        	android:src="@drawable/splash"/>
     
    </LinearLayout>
    Et celui de mon activity, celui-là :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    package com.testdownload;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.widget.ImageView;
     
    public class Splash extends Activity {
    	 private static final int STOPSPLASH = 0;
    	    private static final long SPLASHTIME = 15000;
     
    	    private Handler splashHandler = new Handler() {
    	        @Override
    	        public void handleMessage(Message msg) {
    	            switch (msg.what) {
    	                case STOPSPLASH:
    	                    //remove SplashScreen from view
    	                    Intent intent = new Intent(Splash.this, TestDownload.class);
    	                    startActivity(intent);
    	                    finish();
    	            }
    	            super.handleMessage(msg);
    	        }
    	    };
     
    	    @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.splash_main);
    	        Message msg = new Message();
    	        msg.what = STOPSPLASH;
    	        splashHandler.sendMessageDelayed(msg, SPLASHTIME);
    	    }
    }
    Et le résultat est le suivant (l'image n'est même pas centrée... Etant donné que l'attribut gravity n'existe pas pour l'objet ImageView, je pensais que le placer dans le LinearLayout fonctionnerait mais ça n'a pas l'air d'être le cas...)




    J'ai également essayé de passer mon image en background du layout et le résultat est le même...

    Donc je comprend pas, j'ai lu plusieurs tutoriaux là dessus, j'ai testé un projet de tutomobile qui lui passe bien... Mais je dois faire quelque chose de mauvais...

    Merci d'avance pour votre aide ^^" ça fait un petit moment que ça me prend le choux et là je commence à être à court d'idée, même si à tout les coups c'est un truc tout con :/

    edit : qui plus est, quelle doit être la résolution d'une image pour prendre tout l'écran - la barre de notification ?

  2. #2
    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
    Salut, pour ton splash

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:background="@drawable/splash">
    </LinearLayout>
    edit : qui plus est, quelle doit être la résolution d'une image pour prendre tout l'écran - la barre de notification ?
    TonActivity -> L'activity ou tu veux que ton layout prenne tout l'écran
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <activity android:name="Splash"
                android:theme="@android:style/Theme.NoTitleBar" />
    puis dans Activity -> onCreate()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    requestWindowFeature(Window.FEATURE_NO_TITLE);  
    		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
    	                                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.splash_main);

  3. #3
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Petite question en plus, comment as-tu nommé ton image ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Par défaut
    En fait le problème venait juste du fait que la taille de mon LinearLayout était à wrap_content et non à fill_parent (donc c'était bien un truc tout con)

    merci Feanorin ^^ j'allais chercher un petit moment sinon ^^

    par contre quand je demandais pour la résolution, ce n'est pas ça que je demandais ^^ je voulais savoir combien de pixel affichent les différents écrans... Car j'aimerai ne pas avoir une image trop extensible si possible...

    Déjà si j'ai bien compris android va aller chercher l'image dans le drawable propre à la résolution (à partir de la 1.6 donc) ?

    MrDuChnok--> mon fichier s'appelait bien splash.9.png

  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
    A ma connaissance c'est du 427*320 de base .

  6. #6
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Citation Envoyé par Kenshin83 Voir le message
    En fait le problème venait juste du fait que la taille de mon LinearLayout était à wrap_content et non à fill_parent (donc c'était bien un truc tout con)

    merci Feanorin ^^ j'allais chercher un petit moment sinon ^^

    par contre quand je demandais pour la résolution, ce n'est pas ça que je demandais ^^ je voulais savoir combien de pixel affichent les différents écrans... Car j'aimerai ne pas avoir une image trop extensible si possible...

    Déjà si j'ai bien compris android va aller chercher l'image dans le drawable propre à la résolution (à partir de la 1.6 donc) ?


    MrDuChnok--> mon fichier s'appelait bien splash.9.png
    Oui, dans la théorie tu dois fournir au moins 3 images pour qu'elle s'adapte aux :
    - petits écrans
    - écrans classiques
    - grands écrans

    Ainsi les traitements à effectuer pour bien afficher l'image seront moins important.
    Je sais pas si c'est très clair tout ce que je raconte...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Par défaut
    Oui c'est clair, le truc c'est que j'aimerai bien connaître les différentes résolutions ^^ ça faciliterait le truc :p

  8. #8
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Le but du jeu, c'est qu'il faut être capable de faire ça en aveugle. Tu ne peux pas connaitre toutes les résolutions et gérer toutes les résolutions.
    Le système est fait de tel façon à ce que normalement, tu décris le comportements pour quelques types d'appareils / écrans / résolutions, et automatiquement le système sait l'adapter aux autres appareils proches.

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

Discussions similaires

  1. Problème avec exception lors d'un SplashScreen
    Par yashiro41281 dans le forum Langage
    Réponses: 5
    Dernier message: 10/09/2007, 22h30
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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