【问题标题】:what is dimens.xml(w820dp) in android studio.?android studio 中的dimens.xml(w820dp) 是什么?
【发布时间】:2016-07-28 11:44:47
【问题描述】:
在android studio中创建新项目时,默认创建了两个xml文件。
..res/values/dimens.xml
..res/values/dimens.xml(w820dp)
我知道文件 dimens.xml 我们可以在其中定义元素的尺寸,但为什么默认创建第二个文件 dimens.xml(w820dp)。
有人可以解释一下为什么需要它以及我们什么时候可以使用它。
【问题讨论】:
标签:
android
android-studio
dimensions
【解决方案1】:
您可以在 Andorid Studio 中为每个所需的屏幕尺寸定义多个文件夹。在您的情况下,android studio 定义 values 文件夹,您可以在其中定义用于缩放平板电脑或手机的尺寸(测量值)。
例如。它定义了两个 values 文件夹,例如:
values-large
values-xlarge
或者在你的情况下
values-w820dp
现在在这个文件夹中,定义了一个 dimen.xml 文件,您可以在其中将相应屏幕尺寸的测量值放入(单位 dp)中。
像这样定义一个度量:
<dimen name="value1">17dp</dimen>
然后将此尺寸嵌入到您的布局 xml 中,例如:
android:layout_height="@dimen/value1"
根据屏幕大小,系统将从该文件夹加载正确的测量值,例如如果您的屏幕尺寸为 large,则只会加载文件夹 values-large 中定义的值。
欲了解更多信息,还请查看https://developer.android.com/distribute/essentials/quality/tablets.html
EDIT1:所以基本上如果您看到文件 dimen.xml(w820dp),其中的值仅在应用程序在 820dp 及以上的显示器上执行时使用,在这种情况下,这意味着平板电脑。
【解决方案2】:
事实上,您的项目结构中根本没有名为..res/values/dimens.xml(w820dp) 的文件(请自行检查)。您所拥有的是 ..res/values-w820dp/dimens.xml 文件,但为了更轻松地编辑正确的文件,Android Studio 将(在 Android 视图中)显示它。框架将在显示宽度为 820dp 或更高的设备上使用此文件:
指定最小可用屏幕宽度,以 dp 为单位,
应该使用资源——由值定义。这个配置
当方向在横向和
纵向以匹配当前的实际宽度。
在其他情况下,将加载“普通”dimens.xml。请参阅有关资源限定符的 Providing Alternative Resources 文档,以了解有关可能的选项和好处的更多信息。
【解决方案3】:
这些文件的主要用例是支持用户界面的各种屏幕分辨率
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)
【解决方案4】:
w820dp 是一个限定符值,用于为不同维度提供替代值。这用于正确本地化到设备类型。