Android中hdpi/mdpi/ldpi用于Values文件夹?

21

Android允许我们在drawable文件夹中定义hdpi/mdpi/ldpi,以考虑不同大小的屏幕/设备。 我想知道是否可以将同样的支持应用于Values文件夹(甚至是布局文件夹)?原因是,我通常会定义一个“sizes.xml”文件,其中包含我应用于边距和填充的标准dp尺寸。对于文本的sp尺寸,我也做同样的事情。我想根据手机dpi调整这些值。

4个回答

34
可以,就像这样:

是的,你可以。就像这样:

res/values/dimens.xml(default)
res/values-ldpi/dimens.xml   (240x320 and nearer resolution)
res/values-mdpi/dimens.xml   (320x480 and nearer resolution)
res/values-hdpi/dimens.xml   (480x800, 540x960 and nearer resolution)
res/values-xhdpi/dimens.xml  (720x1280 - Samsung S3, Micromax Canvas HD, etc) 
res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc)
res/values-large/dimens.xml  (480x800)

res/values-large-mdpi/dimens.xml (600x1024)
res/values-sw600dp/dimens.xml  (600x1024)
res/values-sw720dp/dimens.xml  (800x1280)
res/values-xlarge-xhdpi/dimens.xml (2560x1600 - Nexus 10")
res/values-large-xhdpi/dimens.xml  (1200x1920 - Nexus 7"(latest))

(来自:http://wiki.jikexueyuan.com/project/android-actual-combat-skills/multi-resolution-adapting-common-directory.html 警告:链接是中文的!要翻译,请右键单击页面,在弹出菜单中点击“翻译为英语”。)

26

是的,我认为在 res/ 文件夹中的任何内容都可以使用“Configuration Qualifiers”,例如,您可以有一个 values-sw600dp-mdpi-land/ 文件夹。

请参阅“使用配置限定符”: http://developer.android.com/guide/practices/screens_support.html#qualifiers

我最初是通过查看 Google 的 IOSched 应用程序示例代码来注意到这一点的,看看 res 文件夹: https://github.com/google/iosched/tree/master/android/src/main/res

您会发现它们有“values-sw600dp-land”、“values-w400dp”和“values-v17”文件夹,只是其中之一的几个示例。


3

由于值文件夹更适合根据设备分辨率设置不同的边距和字体大小,因此一些hdpi设备使用了values-xhdpi中的值,因此使用values-normal-xhdpi而不是values-normal-hdpi更为合适。

通过这种方式,在值文件夹中设置不同的dps和大小,可以轻松支持手机和平板电脑,从而省略了不同布局文件夹的需求。


0

是的,您可以根据标准修饰符定义要使用的文件。例如,在我的一个应用程序中,我已经为各种大小和方向定义了styles.xml和strings.xml文件,并且它们都按预期工作,如values-large-hdpi和values-large-land-hdpi等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接