- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我目前正在开发我的应用程序,使其设计基于 Holo 主题。在全局范围内我想做的是工作,但我对文件夹 values
、values-v11
和 values-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-v11
以 11
和 13
之间(包括)之间的 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/
我有一个 k*n矩阵 X 和 k*k矩阵A。对于X的每一列,我想计算标量 X[:, i].T.dot(A).dot(X[:, i]) (或者,数学上, Xi' * A * Xi )。 目前,我有一个
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我是 VueJS 的新手。我已经使用 vuetify/webpack-ssr 模板创建了一个项目,现在我想创建一个登录页面,但是没有显示表单,控制台给了我以下信息: [Vue warn]: Unkno
我尝试将 value 插入到 C++ vector v 之前的第 i 元素(或元素 (i-1) 之后) )。代码很简单 v.insert(v.begin() + i, value); 我确信当 i 介
我需要显示使用合并排序算法排序的 vector 。然而,当我使用 v.begin() 时,我的 friend 使用 v.data() 来传递 vector 。他的代码运行良好,而我的却不行。请解释。
这是我的命令(url1、url2、url3、url4 是占位符): ffmpeg -i url1 -i url2 -i url3 -i url4 -filter_complex “[1:v:0] [1
我以前用过Vue,我知道怎么用v-for渲染元素序列,v-if或v-show有条件地显示元素,并且 v-model例如,控制段落的内容。 但现在我需要对 DOM 进行更精细的控制: 我有一个range
我正在学习所有权和借用。 borrow1 和borrow2 的区别在于在borrow2 打印时使用了&: fn borrow1(v: &Vec) { println!("{}", &v[10]
我找不到一种方法来选择不同的选项来渲染 v-for 中的文本。是否有可能或者我是否需要以不同的方式构建逻辑来执行类似于下面的代码的操作? // i
Iterable 的三个直接子类型是 Map , Seq , 和 Set .除了性能问题之外,似乎还有一个 Seq是从整数到值的映射,以及 Set是从值到 bool 值的映射(如果值在集合中,则为 t
我想应用一个计算方法,如果键存在则增加值,否则将 1。有 Map map = new HashMap<>(); 我不明白为什么 for (int i = 0; i v != null ? v++ :
标准(IEEE 754/C)是否保证以下代码断言永远不会失败? int main() { for ( /* all possible float / double values */ )
代码由Vue语言编写,使用Element-ui框架, 如果一个对象包含某些内容,则会显示该内容,如果不包含则禁用菜单按钮。 输出应该是这样的: a、b(禁用)、c、d、e 但我的是这样的: a、a(禁
如果我这样做: {{ morevalue }} {{ value }} v-else 中的跨度也会在第二个 V-FOR 上循环,即使它上面没有任何 v-for,为什么? 这是
如果我这样做: {{ morevalue }} {{ value }} v-else 中的跨度也会在第二个 V-FOR 上循环,即使它上面没有任何 v-for,为什么? 这是
我将 Vue.js 与 Vuetify 一起使用,我正在尝试使用 v-data-table 从后端加载菜单列表并使用 对其设置一些权限v-switches 但我在尝试 v-model 数组时遇到问题:
我在 Java 的流式操作中努力维护我想要的数据结构,这很可能是由于缺乏正确的理解和实践。 public class Main { public static void main(String
我正在尝试为匹配中的每个匹配呈现一些 HTML,但是,我不太确定 实际上是正确的。 更具体地说,我不确定我是否可以使用 v-bind:match='match'在与循环相同的元素上 v-for='ma
所以我想知道为什么这个 v-if 和 v-else 语句不起作用,为什么我要以不同的方式解决它。 代码如下 Required: Select a Workflow {{ isChain ?
我有一个 VueJS 组件 ,我在同一个模板中使用了两次来显示两组不同的数据。每个都显示在自己的 使用 v-if 切换的容器在导航选项卡上。 似乎这些组件被实例化为同一个实例。我调用 console
我是一名优秀的程序员,十分优秀!