Android应用主题 - 从样式xml文件使用主题时的差异

时间:2012-12-07 13:55:50

标签: android android-manifest android-theme

为什么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) - 通知菜单和操作栏

enter image description here enter image description here

编辑2:

为什么第二个选项实际上没有使用AppTheme(Theme.Black)?(在SGS3上测试)

4 个答案:

答案 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中,您可以为应用或活动设置所需的主题。您可能想要使用系统主题或您自己的主题。您还可以在设置“父”属性时扩展其他主题。有关详细信息,请查看:

http://developer.android.com/guide/topics/ui/themes.html

答案 3 :(得分:0)

你应该试着把:

<resources>
  <style name="AppTheme" parent="@android:style/Theme.Black" />
</resources>

在名为res/themes.xml

的xml文件中
相关问题