web-dev-qa-db-fra.com

Comment masquer la barre d'état dans Android

J'ai référé ce link . En ce sens que si l'utilisateur clique sur EditText (par exemple To:), le clavier sera affiché et en même temps, l'utilisateur pourra faire défiler l'écran pour voir toutes les vues restantes (ex: composer, sujet, bouton d'envoi) cet écran. De même, dans mon application, j'ai une activité dans laquelle j'ai quelques widgets ou vues . Supposons que si l'utilisateur clique sur Edittext qui est dans mon activité, le clavier est affiché et je peux faire défiler pour voir les vues restantes. Mais si je donne cet attribut Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen" dans le manifeste, je ne pouvais pas faire défiler pour voir les vues restantes, mais si je donne l'attribut Android:theme="@Android:style/Theme.NoTitleBar" comme ceci dans le manifeste, je peux faire défiler pour voir la vue restante, mais il y a une barre d'état dans cet écran, je veux ici plein et même si le clavier est sorti, je peux faire défiler pour voir les vues restantes ..? Quels changements dois-je faire pour cela ..?

84
user448250

Écrivez ceci dans votre activité

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

Vérifiez Doc ici: https://developer.Android.com/training/system-ui/status.html

et votre application passera en plein écran. pas de barre d'état, pas de barre de titre. :)

142
Fugogugo
 if (Build.VERSION.SDK_INT < 16) {
   getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
 } else {
     View decorView = getWindow().getDecorView();
      int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
      decorView.setSystemUiVisibility(uiOptions);
      ActionBar actionBar = getActionBar();
      actionBar.hide();
 }
17
Bobby

Utilisez le thème "Theme.NoTitleBar.Fullscreen" et essayez de définir "Android:windowSoftInputMode=adjustResize" pour l'activité dans AndroidManifest.xml. Vous pouvez trouver les détails ici .

17
Karan

Si vous en avez besoin dans une activité, vous devez mettre onCreate, avant setContentView:

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.your_screen);
10
Cabezas

Ajoutez ceci à votre classe d'activité

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(
                        WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main);
    // some your code
}
7

Utilisez ceci pour votre Activity.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
7
Vishal Patolia

Changez le thème de l'application dans le fichier manifest.xml.

Android:theme="@Android:style/Theme.Translucent.NoTitleBar"
7
Yogendra
void hideStatusBar() {
        if (Build.VERSION.SDK_INT < 16) {
           getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        } else {
            View decorView = getWindow().getDecorView();
            int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
            decorView.setSystemUiVisibility(uiOptions);
        }
    }

Vous pouvez utiliser cette méthode pour masquer la barre d'état. Et il est également important de masquer la barre d’action. Dans ce cas, vous pouvez getSupportActionBar (). Hide () si vous avez étendu l'activité de support lib comme Appcompat ou vous pouvez simplement appeler getActionBar (). Hide () après la méthode susmentionnée. Merci

6
Farruh Habibullaev

Utilisez ce code:

requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.youractivityxmlname);

Ce code cache la barre d'état. 

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

pour masquer la barre d’action, écrivez cette ligne: -

requestWindowFeature(Window.FEATURE_NO_TITLE);

les deux lignes peuvent être écrites ensemble pour masquer la barre d’action et la barre d’état. toutes ces lignes doivent être écrites avant l'appel de la méthode setContentView dans la méthode onCreate.

3
Harish Gyanani

Vous pouvez cacher en utilisant styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
<style name="HiddenTitleTheme" parent="AppTheme">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

appelez simplement ceci dans votre manifeste comme ceci Android:theme="@style/HiddenTitleTheme"

3
Mudasar

Dans AndroidManifest.xml -> dans l'activité que vous souhaitez utiliser, ajoutez les éléments suivants:

Android:theme="@style/Theme.AppCompat.Light.NoActionBar"
//this is for hiding action bar

et dans MainActivity.Java -> dans la méthode onCreate (), ajoutez ce qui suit:

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//this is for hiding status bar
2
Mohan Munisifreddy

Utilisez ce code pour masquer la barre d'état dans votre application et pour en faciliter l'utilisation.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
1
Prabh deep

Nous ne pouvons pas empêcher l’apparition de l’état en mode plein écran dans les appareils KitKat (4.4+) ou plus, nous vous invitons donc à essayer de bloquer la barre d’état.

La solution est assez grosse, alors voici le lien de SO:

StackOverflow: Masquer la barre d'état dans Android 4.4+ ou KitKat avec plein écran

1
Jyo the Whiff

Ceci est la documentation officielle sur le masquage de la barre d'état sur Android 4.0 et versions antérieures et sur Android 4.1 et versions ultérieures

S'il vous plaît, jetez un oeil à elle:

https://developer.Android.com/training/system-ui/status.html

Sous res -> valeurs -> styles.xml

À l’intérieur du style body tag paste

<item name="Android:windowTranslucentStatus" tools:targetApi="KitKat">true</item>
0
user8231406

Cette solution fonctionne pour moi :)

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (Build.VERSION.SDK_INT >= 19) {
           getWindow().setFlags(AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT, AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT);
           getWindow().getDecorView().setSystemUiVisibility(3328);
    }else{
           requestWindowFeature(Window.FEATURE_NO_TITLE);
           this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

    DataBindingUtil.setContentView(this, R.layout.activity_hse_video_details);
0
Dhaval Jivani
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // If the Android version is lower than Jellybean, use this call to hide
    // the status bar.
    if (Build.VERSION.SDK_INT < 16) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    } else {
       View decorView = getWindow().getDecorView();
       // Hide the status bar.
       int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
       decorView.setSystemUiVisibility(uiOptions);
       // Remember that you should never show the action bar if the
       // status bar is hidden, so hide that too if necessary.
       ActionBar actionBar = getActionBar();
       actionBar.hide();
    }

    setContentView(R.layout.activity_main);

}
...
}
0

Vous pouvez masquer la barre d'état en définissant sa couleur sur transparente à l'aide de xml . Ajoutez statusBarColor item à votre thème d'activité:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="Android:statusBarColor">@Android:color/transparent</item>
</style>
0
user3400881

Utilisé dans Manifest

Android:theme="@Android:style/Theme.Holo.NoActionBar.Fullscreen"
0
Atif Amin
requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
0
user11018151