2016-05-12 58 views
0

我正在开发API 14或更高版本的应用程序。 我要使用的文件夹是这样的:Android布局和绘图文件夹

drawable-ldpi, 
drawable-hdpi, 
drawable-xxxhdpi, 
layout-ldpi, 
layout-xxxhdpi 

OR

drawable-sw320dp, 
drawable-sw720dp, 
layout-sw320dp, 
layout-sw720dp. 

不知道这对手机和平板电脑更好的屏幕支持。

谢谢。

+0

如果您正在支持手机和平板电脑,则需要同时保留以上两项[http://developer.android.com/guide/practices/screens_support.html](http://developer.android.com/guide/practices/ screens_support.html) – Krishna

+0

http://stackoverflow.com/questions/14448451/density-specific-layouts-vs-size-specific-layouts-in-android –

回答

3

理解使用哪个的关键是了解他们资源限定符的含义。

密度限定符(例如ldpi,hdpi,xhdpi)指定了基于设备屏幕中像素密度而变化的资源。这对图像等资源非常有用 - 您通常希望图像在所有设备上具有相同的物理尺寸,这意味着您需要在更高密度的设备上获得更高密度(“更大”)的图像。

大小限定符(例如,sw720dp,s2320dp)指定基于设备的物理大小而改变的资源。如果您要指定屏幕上的某些内容应根据屏幕大小更改大小(或位置),这很有用。例如,您可能需要换出4英寸设备上7英寸设备上的网格物品列表。

一般密度预选赛用于绘项目,因为你想在更高密度的器件高密度图形内容和规模预选赛用于布局,因为你可能需要调整您的布局,以更好地利用不同的屏幕尺寸的优势。

然而,这两者并不相互排斥。您可以使用限定符(以及更多)与任何类型的资源来满足您的需求。第一步是确定您想要在不同设备上执行的操作,然后确定适当的资源限定符以实现您的目标。

+0

我的应用程序必须在每个屏幕中显示相同的项目。 Onyl根据屏幕更改视图的大小。所以如果我需要这个,你说我必须使用密度限定符? – user3240604

+0

一般而言,您的意见将自动调整为适合不同屏幕的内容。这听起来像也许你遇到了这种情况并没有发生,在这种情况下,你可能想要发布一个新的问题,包括截图,一些布局XML和一些不能按预期工作的描述。 –

+0

我已经在使用密度限定符。我想为布局添加大小限定符600和720。我的问题是,我必须为此创建一个drawable,或者要使用一些可以绘制的密度限定符? – user3240604

1

您应该考虑多个variables:屏幕大小,屏幕密度,方向。

区分手机或平板电脑的最简单方法是使用大小限定符(请检查video)。

但最简单的可能不是最好的,所以你必须玩所有的限定符。

一个很好的视频与关于resource selection logic的解释。

+0

如果我使用sw720dp,哪个文件夹将在drawable中使用? – user3240604