我已为整个应用程序设置了一个默认主题。它在 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">
...
我希望这个可以正常工作,并且只将暗色主题应用于正确的布局(及其子视图),但它并没有起作用。我已经尝试用内置的@android:style替换@style,但无济于事。我已在布局编辑器和实际设备/模拟器上进行了测试。
是否可能将自定义主题或样式应用于单个布局?