styles.xml和themes.xml有什么区别
我可以知道styles.xml
和themes.xml
什么区别吗? 对我来说,他们只是看起来相同,因为两个XML都是相同的格式。
<style name="... <item name="...
所以,在我的应用程序提供自定义着色,大小,可绘制,…我是否需要styles.xml
和themes.xml
以及? 我应该如何决定把哪个XML放在哪个文件中?
在样式和主题的整个页面之外。 你可能正在寻找这条线。
将样式应用于布局中的单个视图时,样式定义的属性仅应用于该视图。 如果将样式应用于ViewGroup,则View子元素将不会inheritance样式属性 – 只有直接应用样式的元素才会应用其属性。 但是,您可以将样式应用于所有视图元素 – 将样式应用为主题。
当您应用为主题时,它会在范围内更改所有内容,具体取决于是否将其应用于“活动”或“应用程序 风格更“本地”。
引用Android API指南:
要创build一组样式,请将XML文件保存在项目的
res/values/
目录中。 XML文件的名称是任意的,但必须使用.xml
扩展名并保存在res/values/
文件夹中。 XML文件的根节点必须是<resources>
。
完整的文档
所以我想,只要是位于res/values/
文件夹中的xml文件,只要将任何样式放在任何文件中就没有关系。
styles.xml和themes.xml之间没有function上的差异,正如许多答案所指出的那样。
值得注意的是,Google的iosched2014应用程序只有一个styles.xml(没有themes.xml)。
从“ 样式和主题”文档中的“定义样式”部分:
要创build一组样式,请将XML文件保存在项目的res / values /目录中。 XML文件的名称是任意的,但必须使用.xml扩展名并保存在res / values /文件夹中。
The root node of the XML file must be <resources>.
我只是意识到,例如工具栏文本颜色进入主题声明,其他方面进入一个风格声明
<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>
我试图通过将其项目移动到样式中来忽略主题,但是这不起作用。 所以在这种情况下,它们似乎只是作为主题的样式,因为它们会影响工具栏中的inheritance的子项(如文本字段)。
嗨,这里是一个文章关于样式和主题在Android的XML的区别请通过
而且这里的android 文档关于Android的样式和主题。
- 在Android上从服务器读取文本文件
- 如何parsing嵌套的JSON结果中的dynamicJSON键?
- 在android studio中导入项目时得到“解决”错误,无法加载类“org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'
- 有没有办法来禁用/编辑列表视图在其边缘的衰落?
- 如何确定在Android的文件的MIMEtypes?
- “SDK平台工具组件缺失!”
- Android添加简单的animation,而setvisibility(view.Gone)
- Android:我如何validationEditTextinput?
- 在Android上的Eclipse中debugging有什么问题?