Styles.xml 和 themes.xml 有什么不同

我可以知道 styles.xmlthemes.xml的区别吗?对我来说,它们看起来就像两个 XML 的格式相同。

<style name="...
<item name="...

那么,在我的应用程序,提供定制着色,大小,可绘制,... 我需要既 styles.xmlthemes.xml吗?我应该如何决定将哪个 XML 放入哪个文件?

22358 次浏览

样式和主题的整个页面中。您可能正在寻找这一行。

将样式应用于布局中的单个视图时,属性 定义的样式只应用于该视图 应用于 ViewGroup 时,子 View 元素将不会继承 样式属性ーー只有您直接应用 样式将应用其属性。但是,您可以应用一个样式,以便 它应用于所有 View 元素ーー通过将样式应用为主题。

作为主题应用时,它会根据应用在 Activity 或 Application 上的情况更改范围中的所有内容。风格更“本土化”。

您好,这里是一篇关于 android 请浏览以下网站: http://brainfush.wordpress.com/2009/03/15/understand-android 主题和风格/”rel = “ nofollow”中样式和主题 XML 之间的差异的文章

这里还有关于 Android 风格和主题的安卓 Rel = “ nofollow”> 文档

引自 Android API 指南:

若要创建一组样式,请将 XML 文件保存在项目的 res/values/目录中。XML 文件的名称是任意的,但它必须使用 .xml扩展名并保存在 res/values/文件夹中。 XML 文件的根节点必须是 <resources>

完整的文件

所以我想,只要是位于 res/values/文件夹中的 xml 文件,是否在任何文件中放入任何样式都无关紧要。

摘自 样式和主题文档中的定义样式部分:

要创建一组样式,请将 XML 文件保存在项目的 res/values/目录中。XML 文件的名称是任意的,但它必须使用。Xml 扩展名,并保存在 res/values/文件夹中。

The root node of the XML file must be <resources>.

Styles.xml 和 themes.xml 之间没有功能上的区别,许多答案都表明了这一点。

值得注意的是,Google 的 iosched2014应用程序只有 styles.xml (没有 themes.xml)。

Https://github.com/google/iosched

我只是意识到,例如,工具栏文本颜色进入主题声明,而其他方面进入样式声明

<style name="ToolbarTheme" parent="ThemeOverlay.AppCompat.Light">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
</style>


<style name="ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
<item name="android:minHeight">?attr/actionBarSize</item>
<item name="android:background">@color/colorPrimary</item>
</style>

在工具栏声明中

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/ToolbarStyle"
android:theme="@style/ToolbarTheme">
</android.support.v7.widget.Toolbar>

我试图省略的主题,移动其项目的风格,但没有工作。因此在这种情况下,它们看起来就像是作为主题的样式,因为它们会影响工具栏中的继承子元素,比如文本字段。