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

前端之家收集整理的这篇文章主要介绍了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相关文章