4

根据本文档 (DeclaringTabletLayouts) 中的说明旧组已被弃用(small、normal、large 和 xlarge),这就是我们必须迁移到 Android 3.2 中定义的新技术的原因。

注意:从 Android 3.2(API 级别 13)开始,这些尺寸组已被弃用,取而代之的是一种基于可用屏幕宽度管理屏幕尺寸的新技术。如果您正在为 Android 3.2 及更高版本进行开发,请参阅为 Android 3.2 声明平板电脑布局以获取更多信息。

我们如何使用新技术为小屏幕、普通屏幕和大屏幕制作不同的布局?我试过了,没有找到解决方案,我想为每个设置不同的布局,并且注释说不推荐使用。

旧方式分类:

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

新的方法 :

320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

res/layout-sw320dp/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
4

1 回答 1

2

文档中很好地解释了您可以通过layout.xml在值文件中创建并创建别名以指向替代布局来使用它。您可以创建 values-large、values-sw-600 等,并指向您要为该特定类型选择的布局别名。

  <?xml version="1.0" encoding="utf-8"?>
    <resources>
<item type="layout" name="login">@layout/login_large
</item>

 </resources>

请参阅http://developer.android.com/training/multiscreen/screensizes.html,因为它很好地解释了如何以最佳方式开发多个屏幕。

于 2012-09-07T10:59:39.737 回答