为什么我们应该使用xml布局?

经过几年的Android开发,我花了几个月想知道为什么我应该使用xml布局来制作我的Android应用程序的UI。

我明白了MVC和实时graphics界面devise的一部分。

如果我错了,请把我从无知和原谅我,但是,我无法设置一个视图的位置,正好,8%的屏幕宽度的边距和70%的屏幕宽度的宽度,例如。

以这种方式创buildUI并照顾屏幕宽高比,可以确保应用程序在所有设备中的比例完全相同。

正如这篇文章总结,我们被告知,如果我们想支持不同的屏幕,我们的应用程序的每个布局使用dip单位和一大堆xml文件。 (为什么他们称之为密度无关,如果我们必须使每个屏幕密度不同)?

但是,即使这样做,Google Doc也一样

dp与像素的比率将随着屏幕密度而改变,但不一定成正比。

而且不一定他们应该说,大多数情况下从来没有看过不同的设备的令人难以置信的数量。 根据您的项目,这可能是一个问题。 (或者你想让你的客户看一个谁知道中文设备的“稍微分解”的UI)

我可以问相同的图像资源,但这是另一个问题,我使用的最高分辨率上的-nodpi,然后按代码缩小到屏幕宽度相关的所需的大小,而不是在所有决议放10.000图像。

以这种方式创buildUI并照顾屏幕宽高比,可以确保应用程序在所有设备中的比例完全相同。

苹果公司就是这样做的,这就是为什么当你在一个9.7英寸的iPad上打开一个文件夹时,它只能显示9个图标。

平板电脑不仅仅是一个更大的电话。 真的不是。 此外,iOS设备大多具有相同的纵横比,所以他们如何照顾纵横比。

但是在Android上,你不能只是说你“照顾宽高比”的问题,这个问题神奇地消失了。 您最好的select是使用Android最佳做法来正确处理宽高比。

话虽如此,也不要过分去做。 例如,您不需要使用全部8个密度桶。 查看官方仪表板 ,查看人们实际使用的设备,然后尝试针对每种可能情况进行优化。

另外,您不必一直听Google。 例如,我相信Google会喜欢您翻译您的应用程序,以便在全球范围内提供超过68种不同的语言,但对Google有好处并不一定对您有好处。 Android实际上可以让你select你想用来制作应用程序的工具。 他们不强迫你使用任何特定的。