5

为什么在 AndroidManifest.xml 中定义的主题与从 styles.xml 中获取的主题之间存在差异?

1)AndroidManifest.xml:

<application ... android:theme="@android:style/Theme.Black">

2) AndroidManifest.xml

<application ... android:theme="@style/AppTheme">

样式.xml

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

第一种设置提供黑色主题,没有操作栏。第二个有深色操作栏和浅色菜单。

编辑:选项 1) 和 2) - 注意 Menu 和 ActionBar

在此处输入图像描述 在此处输入图像描述

编辑2:

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

4

4 回答 4

9

您可能有另一个styles.xml文件,可能在“values-v11”之类的目录下,它定义了@style/AppTheme不同于@android:style/Theme.Black您正在查看/修改的文件并优先于您正在查看/修改的文件。

于 2013-11-01T01:49:08.277 回答
2

@android:style/Theme.Black实现了由 Android(或设备制造商)实现的确切主题。但是,@style/AppTheme允许您在您的主题中执行自定义修改,它实际上从 android 扩展了原始Theme.Black,并且为了执行自定义修改,您使用样式资源。

简而言之,它就像使用Activity类或YourOwnActivity类,它在Activity中扩展了额外的功能。

于 2012-12-07T14:01:46.260 回答
0

Styles.xml 使您能够创建自己的主题。在 AndroidManifest 中,您可以为应用或活动设置所需的主题。您可能想要使用系统主题或您自己的主题。您还可以在设置“父”属性时扩展其他主题。有关更多信息,请查看:

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

于 2012-12-07T14:00:44.593 回答
0

你应该试着把:

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

在一个名为的 xml 文件中res/themes.xml

于 2013-09-17T23:06:11.110 回答