为什么AndroidManifest.xml中定义的主题与styles.xml中的主题有区别?
1)AndroidManifest.xml:
<application ... android:theme="@android:style/Theme.Black">
2)AndroidManifest.xml
<application ... android:theme="@style/AppTheme">
styles.xml
<resources>
<style name="AppTheme" parent="@android:style/Theme.Black" />
</resources>
第一个设置提供黑色主题,没有操作栏。第二个有黑暗的动作栏和灯光菜单。
编辑:选项1)和2) - 通知菜单和操作栏
编辑2:
为什么第二个选项实际上没有使用AppTheme(Theme.Black)?(在SGS3上测试)
答案 0 :(得分:8)
您可能有另一个styles.xml
文件,可能位于“values-v11”之类的目录下,它定义@style/AppTheme
与@android:style/Theme.Black
不同,并且优先于您所使用的文件观看/改性。
答案 1 :(得分:2)
@android:style/Theme.Black
实现Android(或设备制造商)实施的确切主题。但是,@style/AppTheme
允许您在主题中执行自定义修改,实际上从android扩展了原始 Theme.Black ,并且为了执行自定义修改,您使用样式资源。
简单来说,就像使用 Activity 类或 YourOwnActivity 类一样,它扩展了 Activity 并且内部有额外的功能。
答案 2 :(得分:0)
Styles.xml使您可以创建自己的主题。在AndroidManifest中,您可以为应用或活动设置所需的主题。您可能想要使用系统主题或您自己的主题。您还可以在设置“父”属性时扩展其他主题。有关详细信息,请查看:
答案 3 :(得分:0)
你应该试着把:
<resources>
<style name="AppTheme" parent="@android:style/Theme.Black" />
</resources>
在名为res/themes.xml