Ich möchte meine Aktivitäten im Vollbildmodus mit der Statusleiste wie folgt anzeigen:
Ich habe diesen Code in manifest
im activity
-Tag verwendet:
'Android:theme="@style/Theme.AppCompat.Light.NoActionBar"'
Meine Ansicht beginnt jedoch nicht von der Statusleiste aus und sieht folgendermaßen aus:
Wie kann ich meine activity
wie die erste aussehen lassen?
Ich weiß, dass der Kerl, der die Frage stellt, möglicherweise seine eigene Lösung gefunden hat, aber für die Leute, die immer noch nach einer Lösung suchen, ist dies eine sehr einfache Lösung, aber eine Sache hat eine Einschränkung, bis KitKat
eine Bedingung hinzugefügt wird
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KitKat) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
Fügen Sie diese zu Ihrem Base Application Theme in styles.xml
hinzu.
<item name="Android:windowTranslucentStatus">true</item>
<item name="Android:windowTranslucentNavigation">true</item>
Fügen Sie Ihrem übergeordneten Layout das folgende Attribut hinzu:
Android:fitsSystemWindows="true"
Hoffe das hilft.
Wenn Sie Ihre "transluzente Navigation" nicht transparent machen möchten, geben Sie hier den Code für nur die Statusleiste transparent
In deinem Thema:
<item name="Android:statusBarColor">@Android:color/transparent</item>
<item name="Android:windowNoTitle">true</item>
<item name="Android:windowTranslucentStatus">true</item>
In Ihrer Aktivität onCreate:
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);
sie können diesen Code nach onCreate verwenden
setTheme(Android.R.style.Theme_Black_NoTitleBar_Fullscreen);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
if (getSupportActionBar() != null) {
getSupportActionBar().hide();
}
ihre Aktivität wird mit Statusleiste angezeigt. :)
@ tahsinRupam answer ist korrekt und wurde in der nach KitKat-Version getestet.
<item name="Android:windowTranslucentStatus">true</item>
<item name="Android:windowTranslucentNavigation">true</item>
Wenn Sie es nur für eine bestimmte Aktivität verwenden möchten, erstellen Sie einen Stil und hängen Sie ihn wie folgt an Ihren Manifeststil an.
<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>
Daumen hoch auf original @ tahsinRupam
Glückliche Kodierungen Prost!
Versuchen Sie es so
<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>
Hoffe, das wird helfen