在android studio中创建新项目时,默认情况下在以下路径中创建了两个xml文件。
..res/values/dimens.xml
..res/values/dimens.xml(w820dp)
我们知道文件 dimens.xml ,我们可以在其中定义元素的维度,但是为什么默认情况下会创建第二个文件 dimens.xml(w820dp)。
有人可以说明为什么需要它以及什么时候可以使用它。
答案 0 :(得分:7)
您可以在Andorid Studio中为每个所需的屏幕大小定义多个文件夹。在您的情况下,android studio定义值文件夹,您可以在其中定义用于缩放平板电脑或手机的尺寸(测量值)。 例如。它定义了两个值文件夹,如:
values-large
values-xlarge
或在你的情况下
values-w820dp
现在在此文件夹中,定义了一个 dimen.xml 文件,您可以将测量值放在(单位dp)相应的屏幕尺寸中。 定义如下测量:
<dimen name="value1">17dp</dimen>
然后在布局xml中嵌入这些大小,如:
android:layout_height="@dimen/value1"
根据屏幕尺寸,系统将从此文件夹加载正确的测量值,例如如果您的屏幕尺寸大,则只会加载文件夹 values-large 中定义的值。 有关更多信息,请查看https://developer.android.com/distribute/essentials/quality/tablets.html
EDIT1:所以基本上如果你看到文件 dimen.xml(w820dp),那里的值只会被使用,如果app在820dp及以上的显示器上执行,在这种情况下,这意味着平板电脑
答案 1 :(得分:1)
实际上,您的项目结构中根本没有名为..res/values/dimens.xml(w820dp)
的文件(请自行检查)。你所拥有的是..res/values-w820dp/dimens.xml
文件,但为了使编辑正确的文件更容易,Android工作室将(在Android
视图中)显示它。框架将在显示宽度为820dp或更高的设备上使用此文件:
指定最小可用屏幕宽度,以dp为单位 应该使用资源 - 由值定义。这个配置 当方向在景观和景观之间变化时,价值将会改变 肖像以匹配当前的实际宽度。
另一方面,将加载“普通”dimens.xml
。请参阅有关资源限定符的Providing Alternative Resources文档,以了解有关可能的选项和优势的更多信息。
答案 2 :(得分:0)
这些文件的主要用例是支持用户界面的各种屏幕分辨率
<强> dimens.xml 强>
Android automatically take values from this file for device with dpi less than 820dp
<强> dimens.xml(w820dp)强>
Android automatically take values from this file for device with dpi greater than 820dp
如何使用
在这些具有相同名称的文件中声明维度( dimens.xml )
<dimen name="button_width">200dp</dimen>
<dimen name="button_height">40dp</dimen>
仅更改其值( dimens.xml(w820dp))
<dimen name="button_width">400dp</dimen>
<dimen name="button_height">80dp</dimen>
w820dp
for screens with more than 820dp of available width. This would include 7"
and 10" devices in landscape (~960dp and ~1280dp respectively)
答案 3 :(得分:0)
w820dp
是限定符值,可为不同维度提供备用值。这用于正确本地化到设备类型。