Mis*_*ith 31 user-interface android themes styles android-linearlayout
我为整个应用设置了默认主题.它在styles.xml中定义如下:
<style name="DefaultTheme" parent="@android:style/Theme.Holo.Light">
<!-- Customization here -->
</style>
Run Code Online (Sandbox Code Playgroud)
我还定义了一个黑暗的主题:
<style name="DarkTheme" parent="@android:style/Theme.Holo">
<!-- Customization here -->
</style>
Run Code Online (Sandbox Code Playgroud)
在清单中,它被声明为轻主题作为应用程序的主题:
<application
...
android:theme="@style/DefaultTheme" >
Run Code Online (Sandbox Code Playgroud)
现在这个工作正常,但在一个活动中,我需要为单个布局设置不同的主题.像这样的东西:
+--------------------------------------------------+
| Parent Linear layout (default theme) |
| |
| +------------------------------------+ +-------+ |
| | | | | |
| | Left linear layout | | | |
| | (default theme) | | | |
| | | | | |
| | | | | |
| | | | ·<----------- Right Linear Layout
| | | | | | (Need it in dark theme)
| | | | | |
| | | | | |
| +------------------------------------+ +-------+ |
+--------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
在布局xml文件中,我正在尝试为最右边的子项LinearLayout设置主题:
<LinearLayout
style="@style/DarkTheme">
...
Run Code Online (Sandbox Code Playgroud)
我希望这个工作得很好,并且只将黑暗主题应用于正确的布局(及其子视图),但它不起作用.我尝试用内置的@android:样式替换@style无济于事.我已经在布局编辑器和真实设备/模拟器上测试了这个.
是否可以将自定义主题或样式应用于单个布局?
Mir*_*nes 29
现在可以使用android:theme
视图上的属性并将其设置为您喜欢的任何主题.请注意,子视图将继承其父级的主题.
Pon*_*pat 11
AFAIK您无法使用XML将主题应用于布局.
但是,您可以ContextThemeWrapper()
在以编程方式创建布局时使用应用主题.
LinearLayout darkThemeLayout = new LinearLayout(new ContextThemeWrapper(context, R.style.DarkTheme));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24927 次 |
最近记录: |