2010-06-24 3 views
2

J'ai une simple application Android qui cible Android 1.5 ou supérieur. J'ai une activité qui est définie pour utiliser le thème ci-dessous (défini dans le manifeste).L'activité en plein écran w/Webview montre toujours la barre d'état en haut

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

Au sein de l'activité, j'ai une WebView (voir XML complet :)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 

    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 

</LinearLayout> 

Je crois avoir ma configuration onCreate de code pour gérer correctement urlLoading (voir ci-dessous). Dans l'émulateur lorsque je teste ce code, la barre d'état ne s'affiche pas en haut. Sur mon appareil cible qui est une tablette d'accueil Archos 7 exécutant Android 1.5 avec une résolution d'écran de 800 x 480, l'application s'exécute, mais la barre d'état apparaît en haut.

Une idée pourquoi cela pourrait-il se produire?

COMPLET SOURCE DE L'activité principale:

package com.bri.RestaurantLauncher; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Window; 
import android.view.WindowManager; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class RestaurantLauncherMain extends Activity { 

    private class RestaurantLauncherMainWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 
    } 

    WebView webview; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 

     setContentView(R.layout.main); 

     this.webview = (WebView) findViewById(R.id.webview); 
     webview.setWebViewClient(new RestaurantLauncherMainWebViewClient()); 
     this.webview.getSettings().setJavaScriptEnabled(true); 
     this.webview.loadUrl("http://www.google.com"); 
    } 
} 
+0

Réponse possible à votre question: http://stackoverflow.com/a/4483904/436938 –

Répondre

2

Toute idée pourquoi cela pourrait se produire?

Si je devais deviner, il est lié à ceci:

Sur mon appareil cible qui est un Archos 7 home tablet ...

Tactiquement, l'ARCHOS 7 La tablette semble fonctionner comme l'ARCHOS 5, avec les boutons HOME, BACK et MENU dans la barre d'état. Dans ce cas, le riff ARCHOS sur Android peut ne pas prendre en charge le mode plein écran, car l'utilisateur ne peut pas quitter l'application. Vous pouvez essayer certains projets Open Source connus pour prendre en charge le mode plein écran et voir comment ils se comportent. Par exemple, mon vidtry sample app lit la vidéo en streaming en plein écran. Stratégiquement, assurez-vous toujours que votre appareil de test principal a installé Android Market. Les appareils qui ont le marché doivent réussir les vérifications de compatibilité, contrairement aux autres appareils. Maintenant, si vous voulez avoir un appareil non-Market juste pour quelques tests de lumière, c'est cool, mais vous voulez un autre appareil Android Market-enabled pour voir ce que l'expérience sera pour la grande majorité des utilisateurs d'Android.

0

Merci. Je cherche toujours un moyen de le faire. Certaines applications qui viennent avec l'appareil (vidéo) cachent le statut bat, mais au moins jusqu'à présent, je n'ai pas été en mesure de le faire. Je ne cherche pas à créer une application grand public pour les utilisateurs finaux, donc l'accès au marché n'est pas si important à ce stade. L'application ultime serait vendu avec le matériel comme une solution clé en main. Si je ne peux pas le faire fonctionner sur l'Archos 7, je devrai recourir à un appareil chinois importé sans marque. Je préférerais ne pas le faire en raison des dépenses supplémentaires. L'Archos semble être bien fait, a une bonne autonomie et un bon écran tactile pour mes besoins.