Android Statusleiste transparent bei Verwendung von AppTheme.NoActionBar

9

Wenn ich die automatisch generierte AppTheme.NoActionBar über android:theme like so auf meine Aktivität anwende:

AndroidManifest.xml:

%Vor%

Meine MainActivity wird oben mit einer transparenten Statusleiste gerendert, die schließlich einen weißen Hintergrund und einen weißen Text darüber aufweist. Wenn das Gerät lädt, ist das das einzige Symbol, das zu sehen ist.

Transparente ActionBar von AppTheme.NoActionBar

Hier ist meine values ​​/ styles.xml:

%Vor%

Im zweiten Stil können Sie AppTheme.NoActionBar sehen, das standardmäßig AppTheme erbt, aber nirgends in beiden Stilen gibt an, dass die Statusleiste transparent sein soll.

    
SupaHam 03.06.2016, 14:05
quelle

1 Antwort

21

Wenn Sie auf dieses Problem gestoßen sind, haben Sie wahrscheinlich einen Ordner namens values-v21 und darin eine Datei namens styles.xml . Diese Datei definiert das Styling für Geräte mit API 21 + ( Android 5.0 + ). Diese Datei enthält wahrscheinlich auch den folgenden Stil mit dem Namen AppTheme.NoActionBar . Kennen Sie das?

values-v21 / styles.xml:

%Vor%

AppTheme.NoActionBar wurde in der values ​​/ styles.xml in der Frage definiert, die immer noch gültig ist, diese Datei wird jedoch nur für Geräte unter API 21 verwendet . Wenn Sie sich den Code anschauen, können Sie das Problem sofort erkennen, indem Sie das Wort bis zum Ende transparent sehen. Ein wenig nach links und wir sehen statusBarColor und voila. Das ist das Problem. Wenn Sie nicht möchten, dass dieses Styling für aktuellere Benutzer bereitgestellt wird, können Sie einfach diese Zeile entfernen.

values-v21 / styles.xml:

%Vor%

Und hier ist das Ergebnis dieser Stilentfernung:

Gute ol 'undurchsichtige Statusleiste

    
SupaHam 03.06.2016, 14:05
quelle