style和android有什么区别:主题属性?

Android布局xml文件中的按钮和文本视图等视图用于主题和样式属性间的主要区别是什么?

怎么用?

什么时候用哪个?

解决方法

有两个主要区别:

首先,通过样式分配给视图的属性将仅适用于该视图,而通过android:theme分配给它的属性将应用于该视图及其所有子项.例如,考虑以下样式资源:

<style name="my_background">
    <item name="android:background">@drawable/gradient</item>
</style>

如果我们使用style =“@ style / my_background”将它应用于具有三个子TextView的LinearLayout,则linearlayout将使用渐变背景绘制,但textviews的背景将保持不变.

如果我们使用android:theme =“@ style / my_background”将它应用于LinearLayout,那么linearlayout和三个textviews中的每一个都将使用渐变作为其背景.

第二个关键区别是,如果在视图的主题中定义了视图,则某些属性仅影响视图.例如,考虑以下样式资源:

<style name="checkBoxes">
    <item name="colorAccent">#caf</item>
    <item name="colorControlnormal">#caf</item>
</style>

如果我使用style =“@ style / checkBoxes”将它应用于CheckBox,则不会发生任何事情.如果我使用android:theme =“@ style / checkBoxes”应用它,复选框的颜色将会改变.

就像第一条规则所说的那样,包含主题属性的样式将应用于具有android:theme属性的视图的所有子项.所以我可以通过将android:theme =“@ style / checkBoxes”应用到我的linearlayout来改变linearlayout中所有复选框的颜色.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...