Як встановити темну тему holo в додатку для Android?


109

Як я можу встановити темну тему holo у своєму додатку? На цей раз я отримав таке:

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

Але коли я зміню це на:

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

Я отримую помилку error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Dark'.

Як вирішити проблему?


яка помилка ресурсу? докладно ...
waqaslam

1
помилка: помилка під час отримання батьківського елемента для елемента: не знайдено ресурсу, який би відповідав заданому імені 'android: Theme.Holo.Dark'.
gurehbgui

Відповіді:


219

зміни parent="android:Theme.Holo.Dark" наparent="android:Theme.Holo"

Темна тема холо називається Holo


1
Мені знадобилося кілька днів, щоб знайти цю посаду. Під час зміни теми на Holo попередній перегляд працює чудово, але в styles.xml я отримую батьківський з ".Dark" неправильно доданим. І тому він постійно демонстрував білу тему. Додано звіт про помилку для цього ...
Yster

Виявляється, що зміна теми попереднього перегляду не впливає на жодні файли. Це лише для попереднього перегляду, як виглядає тема.
Yster

29

За замовчуванням android встановить Holo на темну тему. Немає теми під назвою Holo.Dark, є лише Holo.Light, тому ви отримуєте помилку, що не знайдено ресурс.

Тому просто встановіть його на:

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

8

За даними android.com, вам потрібно лише встановити його у файлі AndroidManifest.xml:

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

Додавання атрибуту теми до елемента вашого додатка працювало на мене:

--AndroidManifest.xml--

...

<додаток ...

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

</application>


Незважаючи на те, що це є корисним рішенням, - це корисна практика зберігати зміни теми в styles.xml та посилатися на маніфест
Devrath

2

У файлі маніфесту програми Android під тегом програми ви можете спробувати декілька цих тем.

Замініть

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

з різними темами, визначеними системою android. Вони можуть бути такими:

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"

Кожна з цих тем по-різному впливатиме на вашу програму, наприклад DeviceDefault.Dialog зробить вашу програму схожою на діалогове вікно. Спробуйте скористатися більшою з них. Ви можете подивитися з sdk для android або просто скористатися автоматичним завершенням в Eclipse IDE для вивчення різних доступних варіантів.

Правильним способом визначення власної теми було б редагування styles.xmlфайлу, присутнього в папці ресурсів вашої програми.


1
Так, правильний спосіб - відредагувати styles.xml для встановлення теми. Наприклад: <style name = "AppBaseTheme" parent = "android: Theme.Holo">
nous
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.