Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android xml(w840dp)不工作_Android_Android Layout - Fatal编程技术网

Android xml(w840dp)不工作

Android xml(w840dp)不工作,android,android-layout,Android,Android Layout,这似乎是一个错误,但也许我正在做一些非常愚蠢的事情,只是看不到它。我有以下价值文件: 整数值文件的行为符合预期。在default integers.xml中,我有: <integer name="card_item_columns">2</integer> 2 对于integers.xml(w840dp),我有: 3 但是当涉及到dimens文件时,只有sw600dp文件似乎起到了作用。对于dimens.xml(sw600dp),我有以下内容: <dimen

这似乎是一个错误,但也许我正在做一些非常愚蠢的事情,只是看不到它。我有以下价值文件:

整数值文件的行为符合预期。在default integers.xml中,我有:

<integer name="card_item_columns">2</integer>
2
对于integers.xml(w840dp),我有:

3
但是当涉及到dimens文件时,只有sw600dp文件似乎起到了作用。对于dimens.xml(sw600dp),我有以下内容:

<dimen name="card_width">264dp</dimen>
<dimen name="card_width">400dp</dimen>
264dp
对于dimens.xml(w840dp),我有:

<dimen name="card_width">264dp</dimen>
<dimen name="card_width">400dp</dimen>
400dp
如果我使用Nexus7模拟器设备,它会显示两列。当我旋转它时,我看到了预期的3列。这证明它至少有840dp宽,因为integers.xml(w840dp)文件是它可以从中获取3列的唯一位置

但是,如果是w840dp,为什么不使用dimens.xml(w840dp)中的卡宽度值?这不可能吗?“w”限定符不能覆盖“sw”限定符吗?我认为应该

我可以调整sw600dp文件中的值,并反映出更改,表明它已从布局文件中正确调用


我没有得到什么基本概念?我发现很难相信这里有一个bug。如果有,其他人肯定会注意到。找出这个愚蠢的错误来获得一些分数。或者给我一个线索来解决问题。谢谢。

Android站点上关于资源限定符优先级的文档非常全面:

在所有其他条件相同的情况下,smallestWidth的优先级高于可用宽度

Configuration   | Qualifier value
smallestWidth   | sw<N>dp
Available width | w<N>dp
配置|限定符值
最小宽度| swdp
可用宽度| wdp

你读过了吗:注意到优先顺序了吗?我(很久以前)读过,但已经忘记了。似乎当有sw限定符时,我不能让w限定符工作,因为sw在优先顺序上有更高的排名。我知道这很简单。谢谢如果你把这个作为一个答案,我会接受并投票表决。