针对不同屏幕密度的不同布局

问题描述:

我想弄清楚如何为不同屏幕密度定义不同的布局。针对不同屏幕密度的不同布局

目前,我要管理一个7" (的Nexus 7),10" (Galaxy Tab的S),现在是9.7" (Galaxy Tab的A)片

所以我现在两个布局定义目录:

layout  (for 7") 
layout-sw720dp (should be only for 10") 

我的问题是9.7" 平板电脑匹配布局sw720dp目录作为我的10" 平板电脑所以从这个角度,我不知道如何定义只在我的9.7" 平板电脑基于另一个布局目录。 。

10"的密度为288ppi,密度为132ppi。 我想如果密度是相同的我不会有这个问题。

是否可以仅基于密度创建新的目录布局?这个用例的最佳实践是什么,并同时管理我的10“布局和我的9.7”布局,密度不同?

+0

“我想弄清楚如何为不同的屏幕密度定义不同的布局” - 恕我直言,这是一种代码味道。 – CommonsWare

+0

也许它对你有用看看这个http://*.com/questions/29956014/why-should-we-use-xml-layouts – Nanoc

+0

当然你可以使用文件夹mdpi,hdpi,xhdpi作为布局以及。 – Nanoc

我所做的是不是使用布局sw720dp我使用这两种布局:

layout-hpdi for 10" with hight dpi 
layout-mdpi for 9.7 with medium dpi 

它似乎工作好。

编辑

其实我一直layout-sw720dp,然后我也使用value-hdpivalue-mdpi资源目录,同时屏幕大小和密度来管理。

你有这两个选择要么你使用

布局sw600dp
布局sw720dp
布局sw800dp

或使用DPI明智的文件夹结构,这样

绘制土地-mdpi
drawable-land-hdpi
drawable-land-xhdpi
drawable-land-xx hdpi