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 :

Afficher un indicateur de chargement


Sujet :

Android

  1. #1
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut Afficher un indicateur de chargement
    Bonjour!
    J'aimerais avoir un peu d'aide afin de réaliser quelque chose:

    J'ai un Layout avec un WebView. Dans les pages affichées, je me suis fait une barre de titre alors j'ai masqué cette de l'application (avec : android:theme="@android:style/Theme.NoTitleBar").

    En la masquant, je perd mon "Chargement en cours x%"

    Savez vous quel serait le code pour afficher la barre de titre seulement pendant le chargement ?

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    myWebView.setWebChromeClient(new WebChromeClient() {
            	public void onProgressChanged(WebView view, int progress)
            {
            activity.setTitle("Chargement en cours...  " + progress + "%");
     
            activity.setProgress(progress * 100);
            if(progress == 100)
            	activity.setTitle(R.string.app_name);
     
            }        
            });

    Merci !

  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
    Bonjour,

    Pour cacher/montrer le titre depuis le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    Les autres flags sont ici :
    http://developer.android.com/referen...ew/Window.html

  3. #3
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    Bonjour,
    j'ai donc ajouté activity.requestWindowFeature(Window.FEATURE_NO_TITLE);
    et le DEFAULT_TITLE; afin d'afficher/masquer la barre de titre.

    Malheureusement l'application se ferme inopinément. Je retire le nouveau code et elle fonctionne. Y a-t-il une classe à importer ?

  4. #4
    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
    Peux tu nous montrer ton code ?

    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     
        requestWindowFeature(Window.FEATURE_NO_TITLE);
     
        setContentView(R.layout.tonlayout);
    Voir aussi les cours et tutoriels Android : http://android.developpez.com/cours/

  5. #5
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    voici l'intégrale du code

    Code java : 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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    package bb.pck;
     
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.content.res.Configuration;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.Window;
    import android.webkit.WebChromeClient;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.Toast;
     
    public class BBActivity extends Activity {
     
    	final Activity activity = this;
     
    	/**InterfaceJavascript */
        public class JavaScriptInterface {
        	/**Procédure pour afficher des Toast*/
        	Context mContext;
        	JavaScriptInterface(Context c) {
        		mContext = c;
        	}
     
        	/**Utilisation des toasts */
        	public void showToast(String toast) {
        		Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
        	}
        }
     
     
        @Override
        public void onConfigurationChanged(Configuration newConfig) {
          super.onConfigurationChanged(newConfig);
          setContentView(R.layout.main);
        }
     
        /** Procédure apellée quand on démarre l'application */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
     
     
            /**Créer une vue Web pour afficher le contenu du site*/
            WebView myWebView = (WebView) findViewById(R.id.webview); 
     
     
            /**Loader la page d'accueil */
            myWebView.loadUrl("http://page");
            /**Machine JavaScript pour utiliser le téléphone*/
            myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
            /**Gestion de la navigation */
            myWebView.setWebViewClient(new MyWebViewClient());
            /**Activer le javascript du navigateur de l'application */
            WebSettings WebSettings = myWebView.getSettings();
            WebSettings.setJavaScriptEnabled(true); 
     
     
     
     
            myWebView.setWebChromeClient(new WebChromeClient() {
            	public void onProgressChanged(WebView view, int progress)
            {
     
            activity.setTitle("Chargement en cours...  " + progress + "%");
     
            activity.setProgress(progress * 100);
            if(progress == 100)
            	activity.setTitle(R.string.app_name);
     
            }        
            });
     
        }
     
     
     
        /**Reprogrammer le WebViewClient pour gérer la navigation dans le site*/
        /**Si l'utilisateur sort du site, on démarre l'activité du téléphone pour naviguer sur le web*/
        private class MyWebViewClient extends WebViewClient {
        	@Override
        	public boolean shouldOverrideUrlLoading(WebView view, String url) {
        		if(Uri.parse(url).getHost().equals("dom")){
        			return false;
        		}
        	Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        	startActivity(intent);
        	return true;
        	}
        }
     
     
     
    }

  6. #6
    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,

    Il faut que tu appelles le requestWindowFeature avant le setContentView.

  7. #7
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    j'ai essayé de déplacer ce bout de code mais encore l'application se ferme.

    je vais abandonner cette idée.

    un peu rageant... rien ne fonctionne
    même ça: http://longweekendmobile.com/2011/08.../#comment-2529

    ouf

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    myWebView.setWebChromeClient(new WebChromeClient() {
            	public void onProgressChanged(WebView view, int progress)
            {
            activity.setTitle("Chargement en cours...  " + progress + "%");
     
            activity.setProgress(progress * 100);
            if(progress == 100)
            	//activity.setTitle(R.string.app_name);
               //Celui ci permet de masquer le titre dynamiquement
               activity.setTheme(android.R.style.Theme_NoTitleBar);
            }        
            });

Discussions similaires

  1. afficher un texte après chargement de la page
    Par klintistwood dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/04/2008, 20h01
  2. Chargement d'une page : Afficher une barre de chargement
    Par JBNCRAV dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 28/11/2007, 10h07
  3. Afficher la progression du chargement d'un TQuery
    Par orelien dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/01/2007, 19h37
  4. Indicateur de chargement de page en temps réel.
    Par snowball_party dans le forum Flash
    Réponses: 6
    Dernier message: 24/11/2006, 12h50

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