如何使Android中的XML设计视图显示准确的设计?

问题描述

与在模拟器或实际设备上看到的布局设计相比,Android Studio的XML设计视图中显示的布局设计很多次都不准确。 很多时候,这导致了很多问题,我无法依靠XML Design视图,而不得不通过猜测来放置边距等,然后检查仿真器或实际设备以查看其是否按预期出现在其中。 / p>

我想知道是否有任何工具或我们可以链接Android Studio的工具可以使XML Design视图准确?如果不是,是否有任何方法可以通过猜测和检查仿真器或实际设备时间来一次又一次地达到我们设计的预期水平,从而减轻设置利润的麻烦?还是我们可以通过某种方式使用现有设计视图,从而准确地显示设计?

非常感谢!

解决方法

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

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

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

Visual Designer是一个近似值(简化了速度和效率,而不是像素完美度),可以指导您了解运行此代码时将要发生的情况。

如果正确完成了布局,则Visual Designer在重要位置(表示布局)非常准确。显然,它不能代替在真实设备上运行的完整引擎,目前来说太慢了。也许将来它会在幕后的真实模拟环境中运行,但是直到那时...这就是您得到的。

因此,回答您的问题:答案是否定的,没有比Visual设计器或运行项目更好的工具了。但是事实是,对Android布局的工作方式相当熟悉的Android开发人员,根据我的经验,视觉设计师很少遇到重大问题。这不是我要100%确保布局正确(不是)的工具,但是我知道,如果那里的东西看起来非常破损,则很有可能在运行时被破坏。 (很少有例外,特别是在运行时发生很多动态事件而可视化编辑器没有信息或上下文的情况下),但是在这些情况下,您可能已经知道自己在做什么。

如果您的某些特定内容与预期不符,则可能是您“认为错误”。 :)并不是为了击败老马,但在过去几年中,每一次(Android开发人员)抱怨视觉编辑器时,通常都是因为我们的布局不正确100%。

Android布局引擎如此宽容的事实并不总是一件好事;我本来希望使用更严格的引擎(如果有限制的话),而不是公然地忽略整个地方的“错误”内容以保持向后兼容性...

无论如何,如果您遇到特定于 的问题,也许可以分享更多有关您的设计方式,设计内容以及确切遇到的问题的信息。