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

时间:2012-03-09 18:34:34

标签: android xml dpi

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

4 个答案:

答案 0 :(得分:27)

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

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 警告:链接是中文!!!要翻译,请右键单击页面,在弹出菜单中单击“翻译为英语”。)

答案 1 :(得分:26)

是的,我相信res/文件夹中的任何内容都可以使用“配置限定符”。例如,您可以拥有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”文件夹,仅举几例。

答案 2 :(得分:3)

由于某些hdpi设备从values-xhdpi获取值,因此值文件夹更适合用于根据设备分辨率设置不同的边距和字体大小。 因此,使用values-normal-hdpi,values-normal-xhdpi是更合适的答案。

通过使用此功能,我们还可以通过在值文件夹中设置不同的dps和大小来省略不同的布局文件夹,以便轻松支持手机和平板电脑。

答案 3 :(得分:0)

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