gpt4 book ai didi

android - style和android :theme attributes?有什么区别

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:03 26 4
gpt4 key购买 nike

用于buttonstextviews 等 View 的android:themestyle 属性之间的主要区别是什么在 android 布局 xml 文件中?

如何使用它们?

什么时候使用哪个?

最佳答案

有两个主要区别:

首先,通过 style 分配给 View 的属性将仅应用于该 View ,而通过 android:theme 分配给它的属性将应用于该 View 以及它的所有 child 。例如,考虑这个样式资源:

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

如果我们使用 style="@style/my_background" 将其应用于具有三个子 TextViewLinearLayout,则线性布局将使用渐变背景绘制,但 TextView 的背景将保持不变。

如果我们使用 android:theme="@style/my_background" 将它应用于 LinearLayout,那么 linearlayout 和三个 TextView 中的每一个都将使用渐变他们的背景。

第二个主要区别是某些属性只有在 View 主题中定义时才会影响 View 。例如,考虑这个样式资源:

<style name="checkboxes">
<item name="colorAccent">#caf</item>
<item name="colorControlNormal">#caf</item>
</style>

如果我使用 style="@style/checkboxes" 将其应用于 CheckBox,则什么也不会发生。相反,如果我使用 android:theme="@style/checkboxes" 应用它,复选框的颜色将会改变。

就像第一条规则所说的那样,包含 theme 属性的样式将应用于具有 android:theme 属性的 View 的所有 subview 。因此,我可以通过将 android:theme="@style/checkboxes" 应用于我的线性布局来更改线性布局中所有复选框的颜色。

关于android - style和android :theme attributes?有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48843867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com