Je souhaite rendre mon activité plein écran avec la barre d'état en haut, comme ci-dessous:
J'ai utilisé ce code dans manifest
à l'intérieur de la balise activity
:
'Android:theme="@style/Theme.AppCompat.Light.NoActionBar"'
Mais ma vue ne part pas de la barre d'état et ressemble à ceci:
Comment puis-je faire ma activity
ressembler à la première?
Je sais que le gars qui pose la question a peut-être trouvé sa propre solution, mais pour les personnes qui recherchent encore une solution, il s'agit d'une solution très simple, mais une chose a une limitation jusqu'à KitKat
donc une condition est ajoutée.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KitKat) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
Ajoutez-les à votre Thème de l'application de base in styles.xml
<item name="Android:windowTranslucentStatus">true</item>
<item name="Android:windowTranslucentNavigation">true</item>
Et ajoutez l'attribut suivant à votre mise en page parent:
Android:fitsSystemWindows="true"
J'espère que cela t'aides.
Si vous ne voulez pas que votre "navigation translucide" soit transparente, voici le code pour juste rendre transparente la barre d'état
Dans votre thème:
<item name="Android:statusBarColor">@Android:color/transparent</item>
<item name="Android:windowNoTitle">true</item>
<item name="Android:windowTranslucentStatus">true</item>
Dans votre activité surCreate:
Window window = getWindow();
WindowManager.LayoutParams winParams = window.getAttributes();
winParams.flags &= ~WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
window.setAttributes(winParams);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
vous pouvez utiliser ce code après onCreate
setTheme(Android.R.style.Theme_Black_NoTitleBar_Fullscreen);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
if (getSupportActionBar() != null) {
getSupportActionBar().hide();
}
votre activité sera complète avec la barre d'état :)
@ tahsinRupam answer est correct et testé sur la version post KitKat.
<item name="Android:windowTranslucentStatus">true</item>
<item name="Android:windowTranslucentNavigation">true</item>
Si vous souhaitez l'utiliser uniquement pour une activité donnée, créez un style et attachez-le à votre style de manifeste comme ceci.
<activity
Android:name=".MainActivity"
Android:screenOrientation="portrait"
Android:theme="@style/Activity.Fullscreen.Theme" />
<style name="Activity.Fullscreen.Theme" parent="MyMaterialTheme.Base">
<item name="Android:windowTranslucentStatus">true</item>
<item name="Android:windowTranslucentNavigation">true</item>
</style>
Bravo à l'origine @ tahsinRupam
Codages heureux à la vôtre!
Essayez comme ça
<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>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
J'espère que celui-ci aidera