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