2014-01-18 62 views
-1

我正在为新应用程序创建布局,我很想知道您通常如何处理此过程。创建Android布局文件的过程

显然这是一个非常普遍的问题,但我认为我们可以从不同开发人员的角度得到很多想法。在Android中创建完美的布局,在我看来,是应用程序开发过程中最困难的任务之一,我认为答案可能是有价值的。

假设是我们希望支持所有尺寸最小的XML文件,而不会影响应用程序设计质量。

在我的情况下,该应用程序的设计者设计了Galaxy S3尺寸(720 x 1280像素)。

考虑到3:4:6:8的比例 -

  1. 会有什么基础设备,你会做的设计,所以一个布局文件会好看就一切正常大小的设备?

  2. 你将如何处理在设备方面的差异,在DP思考 -

EG。

480 X 800 hdpi = 320 X 533dp 
    320 X 480 mdpi = 320 X 480dp 
    720 x 1280 xhdpi = 360 X 640dp 

您将如何仍然使用额外的DP,所以不会有很多空的空间,未做不适合320×480设备的布局?

  1. 当设计师标记20px的边距时,你会如何在xml中解释它?考虑到他在720×1280px的画布上设计了它。

回答

1

从一些屏幕尺寸开始,作为您的基本目标设备。 4.7英寸(hdpi)并为布局文件夹中的默认屏幕创建单个布局,并在值文件夹中声明dimens.xml中的尺寸。

接下来,让我们假设您需要一个7英寸设备的布局,纵向为7创建值 - sw320dp文件夹,并在此文件夹中声明dimens.xml的单独尺寸。

接下来,让我们假设您需要10英寸设备的布局,纵向创建值为10的SW720dp文件夹,并在此文件夹中声明dimens.xml的单独尺寸。

PS:对于横向方向,请在文件夹名称末尾添加-land

接下来,假设您有新设备,例如xhdpixxhdpi设备,您可以创建值-xhdpi和values-xxhdpi文件夹。

由于您已在values文件夹中定义尺寸,因此在运行应用程序时,大多数尺寸将仅在此处使用。并且您可以添加/更新各个文件夹中的尺寸,以获得任何不匹配的屏幕尺寸和分辨率。

另外,如果你有各种大小不同的可绘像mdpihdpi,等你可以把它们drawable-mdpidrawable-hdpi下等

Android系统将在运行时加载正确的资源的护理。

注:在Android版本< 3.2,文件夹命名为一点不同,你可以参考该here

希望这会有所帮助。

0

Android会自动缩放布局以适应当前设备。使解决方案更加优雅的一种方法是创建单独的文件夹drawable-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi和drawable-xxhdpi来容纳可绘制的资源 - 这是为了确保相同的资源不会得到在所有不同的解决方案中使用它可能不太清楚。 不要在布局文件中使用px(像素)进行测量 - 使用允许根据设备像素密度缩放的倾角(或与密度无关的像素)。 另一个极端就是针对不同的分辨率有不同的布局,尽管这是不可取的。