Как изменить тему приложения по умолчанию на другую тему приложения?
У меня есть приложение для 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
включен