Як встановити темну тему 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.