这个问题可能看起来很基本,但我找不到答案。
我需要将imageView放在屏幕的特殊位置。假设,我需要它从顶部开始是十分之三,从屏幕左边开始是五分之一。
首先想到的是使用AbsoluteLayout并使用绝对坐标放置imageView。然而,这种方法在使用不同屏幕尺寸时会引起问题。问题是我无法获取xml文件中的屏幕尺寸(宽度和高度),另一方面,我无法找到一个setX()/ setY()或类似的ImageView方法来编程。
解决这个问题的一个想法是使用LinearLayout而不是AbsoluteLayout并插入虚拟视图(如textVies)来填充我想要的imageView后面或上面的空间。但如果我有多个imageViews放在屏幕上并且所需的位置没有对齐,这会变得复杂。另一个解决方案是使用填充或边距,但它不适用于AbsoluteView。
我不需要imageView与其他视图处于相对位置,我只需要将它放在屏幕的特殊位置。
答案 0 :(得分:0)
虽然它说不推荐使用AbsoluteLayout,但这段代码对我有用:
AbsoluteLayout.LayoutParams lp=new AbsoluteLayout.LayoutParams(width,height,x,y);
myImageView.setLayoutParams(lp);