Android 您如何确定UI小部件的位置?

Android 您如何确定UI小部件的位置?,android,android-layout,Android,Android Layout,我的ios同事要求UI设计师以“像素”为单位向他提供UI部件的所有确切位置,如边距和大小。然后,设计师也给了我一张图片,里面包含了所有绝对准确的位置信息,也是“像素” 显然,我的ios工作伙伴将UI设计成一个布局,看起来像是AbsolutLayout,应该是这样的 通常,我使用dp作为保证金单位,这是由推荐的,效果很好。然而,为不同的屏幕设置不同的xml文档确实很麻烦 要显示UI设计器设计的内容,我应该尝试: 1.将PX转换为DP,并考虑不同的DPS并考虑不同的屏幕。 2.只需使用LinearL

我的ios同事要求UI设计师以“像素”为单位向他提供UI部件的所有确切位置,如边距和大小。然后,设计师也给了我一张图片,里面包含了所有绝对准确的位置信息,也是“像素”

显然,我的ios工作伙伴将UI设计成一个布局,看起来像是
AbsolutLayout
,应该是这样的

通常,我使用
dp
作为保证金单位,这是由推荐的,效果很好。然而,为不同的屏幕设置不同的xml文档确实很麻烦

要显示UI设计器设计的内容,我应该尝试: 1.将PX转换为DP,并考虑不同的DPS并考虑不同的屏幕。 2.只需使用
LinearLayout
android:layou weight
来伪造视图。但是,谷歌不推荐使用
LinearLayout


那么,您如何确定UI小部件的位置呢?

我认为最好使用它

通过将视图与父视图或其他视图(顶部、底部、左侧和右侧)对齐,并根据需要设置视图的布局边界[|顶部|底部|左侧|右侧],您可以在任何位置设置视图


此外,如果您使用布局XML,请记住,您不需要仅通过将该值设置为
layout\u marginRight=“5dp”
即可在px和dps之间进行转换。首先,正如您所说,谷歌不推荐线性布局,这不是问题所在。您应该了解不同布局的用途。他们在不同的场合都很好

其次,您需要使用
px=dp*(dpi/160)

您不应使用具有高值的dp。一般来说,它是好的高达50 dp(在案件的ImageView),但这是没有提到的任何谷歌开发者在任何地方

有不同的布局对于设计屏幕非常有用。线性布局(有权重、无权重)相对布局、网格布局、表格布局都不错,但问题是你应该了解它的用途


确定的测量值对于边距和填充非常有用,如果值不是很大,有时对于高度和宽度也非常有用。

谢谢您的回复。似乎相对布局是首选。通常,我使用5dp作为边距设置。但是,固定的边距并不适用于所有屏幕。感谢您的回复。这个问题我想了很久了。也许,我使用哪种布局并不重要。如果我可以使用带权重的线性布局来表示ui设计,我就可以使用它。