【发布时间】:2015-04-29 22:53:26
【问题描述】:
经过几年的 Android 开发,我花了几个月的时间想知道为什么要使用 xml 布局来制作我的 Android 应用程序的 UI。
我了解 MVC 和实时图形界面设计的那一部分。
如果我错了,请让我摆脱无知并原谅我,但是,我无法准确地设置视图的位置,例如,边距为屏幕宽度的 8%,宽度为屏幕宽度的 70%。
以这种方式创建 UI 并注意屏幕纵横比可确保应用在所有设备上的外观比例完全相同。
正如this post 总结的那样,如果我们想支持不同的屏幕,我们被告知要为我们的应用程序的每个布局使用 dip 单位和一堆漂亮的 xml 文件。 (如果我们必须为每个屏幕密度设置不同,为什么他们称其为密度无关?)
但是,即使这样做,正如(再次)谷歌文档所说的那样
dp与像素的比例会随着屏幕密度而变化,但不一定成正比。
而不一定他们应该说大多数情况下从不查看数量惊人的不同设备。根据您的项目,这可能是一个问题。 (或者您是否希望您的客户在懂中文的设备上查看您“略微分解”的 UI)
我可以对图像资源提出相同的要求,但这可能是另一个问题,我习惯将最高分辨率放在 -nodpi 上,然后通过代码缩小到与屏幕宽度相关的所需大小,而不是完全放置 10.000 张图像决议。
【问题讨论】:
-
这可能会有所帮助。 imgur.com/0QcNkz7
-
您不需要使用 XML,请随意在运行时构建您的 UI。
-
我知道这不是必需的,但它是 google 向我们展示的主要方式,我主要寻找不同的观点,说明为什么使用 xml 布局是最常见的模式设计。
-
@RafiduzzamanSonnet,系统根据密度桶缩放资源,您无法精确控制缩放图像的大小,而且,无论如何,我看不出有任何理由将每个图像放在不同的位置 8 次决议。