我是否需要14种不同的布局来支持所有Android设备?

wuf*_*foo 61 android resolution screen android-screen-support

我真的很困惑.从developer.android.com上的文档来看,为了保持我的图像在所有当前Android设备上正确缩放(宽高比),我需要以下所有这些布局.这真的是每个人都在做什么?我错过了什么,或者我应该以不同的方式解决这个问题?

Low density Small screens QVGA 240x320
------------------------------------------------
layout-small-ldpi
layout-small-land-ldpi

Low density Normal screens WVGA400 240x400 (x432)
------------------------------------------------
layout-ldpi
layout-land-ldpi

Medium density Normal screens HVGA 320x480
------------------------------------------------
layout-mdpi
layout-land-mdpi

Medium density Large screens HVGA 320x480
------------------------------------------------
layout-large-mdpi
layout-large-land-mdpi

High density Normal screens WVGA800 480x800 (x854)
------------------------------------------------
layout-hdpi
layout-land-hdpi

Xoom (medium density large but 1280x800 res)
------------------------------------------------
layout-xlarge
layout-xlarge-land
Run Code Online (Sandbox Code Playgroud)

Waz*_*_Be 23

您的应用程序将使用经典布局在100%的设备上运行.

您可以通过添加一些限定符来添加一些按钮或以横向模式更改布局,但这取决于您!

例如,在LDPI(小分辨率)设备上,您可能需要调整一些按钮或更改一点以适合小屏幕.

您可能还想在横向模式下放置一些按钮,在纵向布局的底部放置一些按钮!

你没有"必须"使用它们.

  • 混合LDPI和小术语的含义会导致这种混乱.检查http://developer.android.com/guide/practices/screens_support.html根据第使用配置限定符小,正常,大,超大应该被用于提供不同的布局.. ldpi,mdpi,hdpi,xhdpi应该用来提供不同的图像尺寸..只是我的意见...... (4认同)
  • 谢谢.但我特别遇到的问题是图像背景.我的公司想要在应用程序启动时设置一个闪屏,它根据设备的方向确实变得怪异.我通过制作两个闪烁的图像来修复它; 一个肖像,一个风景然而现在的问题是当我在Xoom上运行应用程序时,启动画面都是模糊和锯齿状的.如果我将Xoom分辨率初始屏幕缩放到QVGA模拟器,则文本变得不可读.那么,我是否为每个设备制作了不同的res启动画面,或者某个地方是否有一个快乐的媒体? (2认同)
  • 您只需要在xlarge和/或xlarge-land中添加不同的图像/布局,然后xoom(和其他xlarge屏幕设备)将使用这些,而所有其他将查看正常的图像/布局. (2认同)

LOG*_*TAG 8

根据来自Roman Nurik的Android Dev Protip关于屏幕大小限定符:

如果您有大型屏幕设备(如平板电脑)的自定义布局,现在是时候停止使用-large或-xlarge资源限定符并切换到使用-swXXdp或-wXXdp限定符.后者在API级别13中引入,基本上所有平板电脑现在都支持根据最新的平台版本chart1.

意味着对于-large会产生任何影响的所有情况, 可以使用-swXXdp来提供更多粒度.

那么你应该使用哪些实际的sw或w限定符?这是一个快速的给我一个起点:

7"平板电脑:使用layout-sw600dp而不是布局大.

示例:Nexus 7 = 960×600 dp; 两个维度中较小的一个是600.

10"平板电脑:使用layout-sw720dp代替layout-xlarge.

示例:Nexus 10 = 1280×800 dp; 两个尺寸中较小的一个是800.一些10"平板电脑稍微窄一些,因此720是常用的切换点.

除此之外还有更多(你真的想根据你的内容的最低要求选择切换点,而不是设备外形),但那是另一天的#Protip(:: cough :: + Nick Butcher :: cough: :).