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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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.

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, 19h01
  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, 09h07
  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, 18h37
  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, 11h50

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