Я установил тему по умолчанию для всего приложения. Он определен в 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: безрезультатно. Я тестировал это в редакторе макетов и на реальном устройстве/симуляторе.
Можно ли применить специальную тему или стиль к одному макету?