创建Android布局文件的过程

时间:2014-01-18 18:50:38

标签: android android-layout

我正在为新应用程序创建布局,我很想知道您通常如何处理这个过程。

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

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

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

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

  1. 您将进行设计的基本设备是什么,因此一个布局文件在所有正常尺寸的设备上看起来都不错?

  2. 您如何处理设备尺寸的差异,请参阅dp -

  3. 例如

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

    你如何仍然使用额外的dp,所以不会有很多空格,不会使布局不适合320 X 480设备?

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

由于您已在values文件夹中定义了维度,因此在运行App时,大多数维度将仅在此处使用。您可以添加/更新相应文件夹中的尺寸,以获取有任何不匹配的屏幕尺寸和分辨率。

此外,如果你有各种尺寸的单独的drawable,如mdpihdpi等,你可以将它们放在drawable-mdpidrawable-hdpi

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

注意:在Android版本< 3.2 ,文件夹命名略有不同,您可以参考here

希望这有帮助。

答案 1 :(得分:0)

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