Я установил тему по умолчанию для всего приложения. Он определяется в styles.xml следующим образом:Как установить другую тему в макет
<style name="DefaultTheme" parent="@android:style/Theme.Holo.Light">
<!-- Customization here -->
</style>
Я также определил темную тему:
<style name="DarkTheme" parent="@android:style/Theme.Holo">
<!-- Customization here -->
</style>
В манифесте она объявлена световую тему в качестве основной темы для приложения:
<application
...
android:theme="@style/DefaultTheme" >
Теперь это работает нормально, но в действии мне нужно задать другую тему для одного макета. Что-то вроде этого:
+--------------------------------------------------+
| Parent Linear layout (default theme) |
| |
| +------------------------------------+ +-------+ |
| | | | | |
| | Left linear layout | | | |
| | (default theme) | | | |
| | | | | |
| | | | | |
| | | | ·<----------- Right Linear Layout
| | | | | | (Need it in dark theme)
| | | | | |
| | | | | |
| +------------------------------------+ +-------+ |
+--------------------------------------------------+
В файле макет XML Я пытаюсь установить тему для ребенка самого правого LinearLayout:
<LinearLayout
style="@style/DarkTheme">
...
Я бы ожидать, чтобы это работало просто отлично, и применять темная тема только в правильном макете (и его дочерние представления), но она не работает. Я попытался заменить @style на встроенный стиль @android: безрезультатно. Я тестировал это в редакторе макетов и на реальном устройстве/симуляторе.
Возможно ли применить индивидуальную тему или стиль к одному макету?
Я знаю, что это старый вопрос, вы были в состоянии найти ответ на него? –