Wie stelle ich das Holo Dark Theme in einer Android App ein?

109

Wie kann ich das dunkle Holo-Thema in meiner App einstellen? Zu diesem Zeitpunkt bekam ich Folgendes:

<style name="AppTheme" parent="android:Theme.Holo.Light" />

Aber wenn ich es ändere zu:

<style name="AppTheme" parent="android:Theme.Holo.Dark" />

Ich bekomme eine Fehlermeldung error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Dark'.

Wie löse ich das Problem?

gurehbgui
quelle
Welcher Ressourcenfehler? aufwendig ...
Waqaslam
1
Fehler: Fehler beim Abrufen des übergeordneten Elements für das Element: Es wurde keine Ressource gefunden, die dem angegebenen Namen 'android: Theme.Holo.Dark' entspricht.
Gurehbgui

Antworten:

219

wechseln parent="android:Theme.Holo.Dark" zuparent="android:Theme.Holo"

Das holo dunkle Thema heißt Holo

Lars Werkman
quelle
1
Ich habe ein paar Tage gebraucht, um diesen Beitrag zu finden. Wenn Sie das Thema in Holo ändern, funktioniert die Vorschau einwandfrei, aber in der Datei styles.xml wird das übergeordnete Element ".Dark" falsch hinzugefügt. Und deshalb zeigte es immer wieder das weiße Thema. Ein Fehlerbericht für dieses hinzugefügt ...
Yster
Es stellt sich heraus, dass das Ändern des Vorschau-Themas keine Auswirkungen auf Dateien hat. Es dient nur zur Vorschau des Themas.
Yster
29

Standardmäßig setzt Android Holo auf das dunkle Thema. Es gibt kein Thema namens Holo.Dark, es gibt nur Holo.Light, deshalb wird der Fehler "Ressource nicht gefunden" angezeigt.

Stellen Sie es einfach auf:

<style name="AppTheme" parent="android:Theme.Holo" />
Anup Cowkur
quelle
8

Laut android.com müssen Sie es nur in der Datei AndroidManifest.xml festlegen:

http://developer.android.com/guide/topics/ui/themes.html#ApplyATheme

Das Hinzufügen des Themenattributs zu Ihrem Anwendungselement hat bei mir funktioniert:

--AndroidManifest.xml--

...

<Anwendung ...

  android:theme="@android:style/Theme.Holo"/>
  ...

</ application>

Peter Shannon
quelle
Dies ist zwar eine praktikable Lösung. Es wird jedoch empfohlen, die Themenänderungen in styles.xml beizubehalten und in manifest
Devrath zu verweisen
2

In Ihrer Anwendungs-Android-Manifestdatei können Sie unter dem Anwendungs-Tag mehrere dieser Themen ausprobieren.

Ersetzen

<application
    android:theme="@style/AppTheme" >

mit verschiedenen Themen vom Android-System definiert. Sie können sein wie: -

android:theme="@android:style/Theme.Black"
android:theme="@android:style/Theme.DeviceDefault"
android:theme="@android:style/Theme.DeviceDefault.Dialog"
android:theme="@android:style/Theme.Holo"
android:theme="@android:style/Theme.Translucent"

Jedes dieser Themen hat unterschiedliche Auswirkungen auf Ihre Anwendung, z. B. DeviceDefault.Dialog lässt Ihre Anwendung wie ein Dialogfeld aussehen. Sie sollten mehr davon versuchen. Sie können einen Blick auf das Android SDK werfen oder einfach die automatische Vervollständigung in Eclipse IDE verwenden, um die verschiedenen verfügbaren Optionen zu erkunden.

Eine korrekte Möglichkeit, Ihr eigenes Thema zu definieren, besteht darin, die styles.xmlim Ressourcenordner Ihrer Anwendung vorhandene Datei zu bearbeiten .

nikoo28
quelle
1
Ja, der richtige Weg ist, die Datei styles.xml zu bearbeiten, um das Thema festzulegen. Zum Beispiel: <style name = "AppBaseTheme" parent = "android: Theme.Holo">
nous