gpt4 book ai didi

android - values、values-v11 和 values-v14 文件夹的样式和主题

转载 作者:IT老高 更新时间:2023-10-28 21:56:14 30 4
gpt4 key购买 nike

我目前正在开发我的应用程序,使其设计基于 Holo 主题。在全局范围内我想做的是工作,但我对文件夹 valuesvalues-v11values-v14 .

所以我知道:

  • values 的目标是低于 11 的 API
  • values-v11 是针对 11 到 13 之间的 API
  • values-v14 是针对优于 13 的 API

起初我以为我必须为每个文件夹指定应用程序所需的所有样式,但后来我意识到一种继承系统已经到位。

我的问题是我真的很困惑,不清楚这三个文件夹之间的继承是如何工作的。

我进行了以下测试以查看手机上的行为(在 Android 4.0 上运行,因此应该加载文件夹 values-v14):

values 我有一个样式可以将文本颜色设置为蓝色:

<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/Blue</item>

values-v11 我有一个样式来设置文本颜色为白色:

<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/White</item>

values-v14 中,我有一种将文本颜色设置为红色的样式:

<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/Red</item>

对于上面的第一种情况(每个文件夹都有不同的颜色),我的文本加载的颜色是红色,这意味着 values-v14 文件夹获得了优先权。

然后如果我从 values-v14 文件夹中注释掉红色样式,则文本变为白色。这是否意味着即使设备以 values-v14 文件夹为目标,系统也会采用 values-v11 文件夹中的样式?我认为它可能会默认使用 values 文件夹,而不是 values-v11

更一般地说,我的问题是,这 3 个文件夹是否作为父子文件夹工作?意思是:

  • 如果设备在 API 版本 > 13 上运行,系统将加载 values-v14 然后是 values-v11 最后是 values .
  • 如果设备在 11 和 13 之间的 API 上运行,系统将加载 values-v11,然后加载 values
  • 如果设备在 API 版本 < 11 上运行,系统将仅加载 values

如果确实如此,那么在父文件夹 values 中设置最大样式并仅在 v11 或 v14 中添加特定样式是否有意义?

抱歉这个问题太长了,我希望它很清楚,这个主题/样式系统仅在 Android 指南中简要描述,很难找到关于它如何工作的信息......

感谢您的帮助!

最佳答案

More generally, my question is, are these 3 folders working as parent and child?

这些文件夹使用“最具体”的匹配系统,这意味着它将匹配最接近(较低)的 API 级别 values 文件夹:

  • values-v14 目标 API >= 14(14 以下的版本根本不会被选中)
  • 如果 values-v14 存在,
  • values-v111113 之间(包括)之间的 API 为目标否则会匹配11及以上的所有版本((11以下的版本根本不会被选中))
  • values 是默认文件夹,它将是最后一个匹配的文件夹,涵盖了另一个 values-xx 文件夹未涵盖的其他 API 级别。您应该始终(与所有资源文件夹一样)在您的应用中拥有此文件夹

If it is indeed the way it is working, does it make sense then to setup the maximum of styles in the parent folder values and add only specific ones in v11 or v14?

是的,这就是Android项目模板的构建方式(当你使用Create new project...时),它实际上告诉你使用values-xx用于自定义的文件夹(不同的外观、使用新样式、属性):

 <!-- in the styles.xml from the v-14 values folder: -->
<!-- API 14 theme customizations can go here. -->

关于android - values、values-v11 和 values-v14 文件夹的样式和主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16624317/

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