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);

    }

}

172voto

Comme vous demandez comment cacher dans une activité spécifique, voici ce dont vous avez besoin :

getSupportActionBar().hide();

144voto

SiKni8 Points 2017

Appliquez ce qui suit dans votre thème pour l'activité dans AndroidManifest.xml:

46voto

Prateek Joshi Points 3383

1. Allez dans votre fichier manifest.xml.

2. Recherchez la balise d'activité pour laquelle vous souhaitez masquer votre ActionBar, puis ajoutez ,

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

31voto

reza.cse08 Points 3293

Si vous souhaitez obtenir un plein écran sans barre d'action et titre.

Ajoutez-le dans style.xml

      <item name="windowActionBar">false</item>
      <item name="windowNoTitle">true</item>
      <item name="android:windowFullscreen">true</item>

et utilisez le style dans l'activité de manifest.xml.

 ......

18voto

sandalone Points 8326

La ActionBar existe généralement le long des Fragments donc depuis l'Activity vous pouvez la cacher

getActionBar().hide();
getActionBar().show();

et depuis le Fragment vous pouvez le faire

getActivity().getActionBar().hide();
getActivity().getActionBar().show();

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