Как изменить тему приложения по умолчанию на другую тему приложения?

У меня есть приложение для Android, которое имеет тему по умолчанию для Holo.Light, но я хочу изменить его на Theme.Black. Я попытался сделать это, изменив тег стиля в манифесте android:theme="@style/AppTheme" на Theme.Black, но он не может быть найден. Есть ли дополнительные шаги, которые я должен предпринять для изменения темы?

Ответы

Ответ 1

Собственно, вы должны определить свои стили в res/values/styles.xml. Думаю, теперь у вас есть следующая конфигурация:

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

поэтому, если вы хотите использовать Theme.Black, измените родительский элемент AppBaseTheme на android:Theme.Black или вы можете изменить стиль приложения непосредственно в файле манифеста, как это - android:theme="@android:style/Theme.Black". Перед тегом стиля у вас должно быть недостающее пространство имен android.

Подробнее о стилях и темах здесь.

Ответ 2

Чтобы изменить приложение на другую встроенную тему, просто добавьте эту строку в тег приложения в файл приложения manifest.xml.

Пример:

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

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

<application 
    android:theme="@android:style/Theme.Black"/>

<application 
    android:theme="@android:style/Theme.DeviceDefault"/>

Если вы установите стиль для DeviceDefault, для него потребуется минимальный SDK версии 14, но если вы не добавите стиль, он все равно установит значение по умолчанию.

<uses-sdk
    android:minSdkVersion="14"/>

Ответ 3

Если вы пытаетесь ссылаться на стиль Android, вам нужно поставить "android:" там

android:theme="@android:style/Theme.Black"

Если это не решит проблему, вам может потребоваться изменить свой вопрос с полным файлом манифеста, чтобы мы могли видеть более подробную информацию

Ответ 4

Или попробуйте проверить свой mainActivity.xml, вы убедитесь, что этот файл    xmlns:app="http://schemas.android.com/apk/res-auto"here включен