0

我想知道是否可以使用 XML 文件在 Android 上精确定位小部件?根据我的实验,通过 XML 精确定位似乎是不可能的。以编程方式,我能够根据设备的宽度和高度完美地定位事物。然而,使用 XML 和 dip 值,事情似乎就分崩离析了。这是我的意思的一个例子。

马克·墨菲在一篇文章中写道:

一些开发人员,也许是那些来自 UI 开发的“拖放式”学校的开发人员,首先考虑的是小部件的位置。他们认为他们希望某些小部件在某些固定位置具有某些固定大小。他们对 Android 布局管理器(容器)感到沮丧,并且可能会倾向于使用已弃用的 AbsoluteLayout 作为他们过去设计 UI 的一种方式。

即使在桌面上也很少能很好地工作,正如不能很好地处理窗口大小调整的应用程序所看到的那样。同样,它不适用于具有各种屏幕尺寸和分辨率的移动设备,尤其是 Android。

与其考虑职位,不如考虑规则。您需要向 Android 教授关于小部件的大小和放置位置的“业务规则”,然后 Android 根据设备屏幕在分辨率方面实际支持的内容来解释这些规则。

资源

这使我相信 XML 文件很难精确定位。这对我的应用程序很重要,因为我在背景图像上布置小部件,因此这些小部件需要准确放置在特定区域,以便整体 UI 看起来不错。需要跨分辨率保留纵横比。我可以使用 XML 文件完成所有这些操作吗?

谢谢!任何帮助是极大的赞赏!

4

1 回答 1

0

是的,您可以使用绝对布局逐像素定位您的视图。上次我检查时,那是不久前,那些拖放界面实际上为您创建了一个。(实际上只是检查链接似乎已弃用此类。)

但是,我强烈建议不要使用它们。原因是因为您正在为许多不同的屏幕尺寸进行编码,因此逐像素提供尺寸肯定会导致跨设备出现问题。

我推荐的是使用RelativeLayout。我实际上尽我所能使用这种类型的布局。它使您可以将项目放在其他元素的右侧或上方和下方。这与 DIP(密度独立像素)中的填充和边距选项相结合,应该可以让您创建任何您想要的东西。它在大多数设备上应该看起来不错。

于 2012-04-10T18:36:34.660 回答