129 votes

Android: comment masquer ActionBar sur certaines activités

J'ai développé une application de démonstration simple avec un écran de démarrage, une carte et quelques écrans réguliers.

J'ai une barre d'action en haut qui contient un logo. Tout semble bien sur mon téléphone (Galaxy S1 I9000 V2.3) mais quand je le teste sur Galaxy S2 V4, la barre d'action apparaît également dans l'écran de démarrage et dans l'écran de la carte.

Les activités de démarrage et de carte n'héritent même pas de ActionBarActivity, alors comment est-ce possible et comment puis-je le faire disparaître ?

Manifeste:

Définition de MapActivity (c'est une longue donc j'ai inclus juste la définition):

public class MapActivity extends FragmentActivity implements LocationListener

Activité de l'écran de démarrage:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;

public class SplashActivity extends Activity{

    private static final long SPLASH_DISPLAY_LENGTH = 2000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        new Handler().postDelayed(new Runnable(){
            @Override
            public void run() {
                Intent mainIntent = new Intent(SplashActivity.this,HomeActivity.class);
                SplashActivity.this.startActivity(mainIntent);
                SplashActivity.this.finish();
            }
        }, SPLASH_DISPLAY_LENGTH);

    }

}

0voto

Première vérification MainActivity pour la balise d'activité, comme -

public class MainActivity extends AppCompatActivity

Ensuite, allez dans le fichier xml des manifestes et écrivez-

android:theme="@style/Theme.AppCompat.Light.NoActionBar"

dans la balise d'activité

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X