0

这个问题可能看起来很基本,但我找不到答案。

我需要将 imageView 放置在屏幕中的特殊位置。假设,我需要它位于屏幕顶部的十分之三和屏幕左侧的五分之一。

首先想到的是使用 AbsoluteLayout 并使用绝对坐标放置 imageView。然而,这种方法在使用不同的屏幕尺寸时会导致问题。问题是我无法在 xml 文件中获取屏幕尺寸(宽度和高度),另一方面,我找不到用于 ImageView 的 setX() / setY() 或类似方法以编程方式执行此操作。

解决这个问题的一个想法是使用 LinearLayout 而不是 AbsoluteLayout 并插入虚拟视图(如 textVies)来填充我想要的 imageView 后面或上方的空间。但是,如果我有多个图像视图要放置在屏幕中并且所需的位置未对齐,这会变得复杂。另一种解决方案是使用填充或边距,但它不适用于 AbsoluteView。

我不需要 imageView 与其他视图处于相对位置,我只需要它位于屏幕中的特殊位置。

4

1 回答 1

0

虽然它说 AbsoluteLayout 已被弃用,但这段代码对我有用:

    AbsoluteLayout.LayoutParams lp=new AbsoluteLayout.LayoutParams(width,height,x,y);
    myImageView.setLayoutParams(lp);
于 2013-02-21T10:48:19.977 回答