首页 > 解决方案 > 如何使Android中的XML设计视图显示准确的设计?

问题描述

与在模拟器或实际设备上看到的相比,Android Studio 中 XML 设计视图中显示的布局设计多次不准确。这会导致问题,因为很多时候我不能依赖 XML 设计视图,并且必须通过猜测设置边距等,然后检查模拟器或实际设备以查看它是否按预期出现在那里。

我想知道是否有任何工具或东西可以将 Android Studio 与它链接起来,以使 XML 设计视图准确?如果没有,有没有办法通过一次又一次地猜测和检查模拟器或实际设备来减少设置边距的麻烦,以达到我们设计的预期目标?或者有什么方法可以使用现有的设计视图以接近准确地显示设计?

非常感谢!

标签: androidandroid-studioandroid-layoutandroid-xml

解决方案


可视化设计器上方的工具栏有一个设备选择器,您可以在其中使用现有的模拟器,甚至可以创建自己的具有自己密度的屏幕。

无论如何,Android Layouts(和 iOS 界面设计器)背后的想法是它是一系列约束(不一定与 ConstraintLayout 相关)的可视化表示。

您指定约束(例如:固定到顶部、宽度为 100dp 等),运行时引擎将在运行时根据屏幕大小、密度和方向在设备上执行这些约束。

可视化设计器是一个近似值(为速度和效率而简化,而不是像素完美),可引导您了解运行它时会发生什么。

如果您的布局正确完成,则可视化设计器在重要的地方(代表您的布局)非常准确。它显然不能替代在真实设备上运行的完整引擎,现在它太慢了。也许将来它会在幕后的真实模拟环境中运行,但在那之前......这就是你得到的。

所以回答你的问题:答案是否定的,没有比视觉设计器或运行项目更好的工具了;但事实是,对 Android 布局工作方式有一定了解的 Android 开发人员很少(根据我的经验)与视觉设计师有重大问题。它不是我用来 100% 确保我的布局准确的工具(它不是),但我知道如果那里的某些东西看起来非常损坏,那么它很可能会在运行时损坏。(有极少数例外情况,尤其是在运行时发生大量动态事情而可视化编辑器没有相关信息或上下文时),但在这些情况下,您可能已经知道自己在做什么。

如果您有特定的东西看起来不像您期望的那样,那么也许您“持有错误”。:) 不要打死马,但在过去几年中,每次我们(Android 开发人员)抱怨可视化编辑器时,主要是因为我们的布局不是 100% 正确。

android 布局引擎如此宽容的事实并不总是一件好事。我宁愿选择一个更严格(如果有限制)的引擎,而不是公然忽略整个地方的“错误”东西以保持向后兼容性......

无论如何,如果你有一个特定的问题,也许可以分享更多关于你是如何设计的,你在设计什么,以及你到底遇到了什么问题。


推荐阅读