我正在尝试做一些相当简单的事情:通过增加X或Y坐标来移动图像视图。
最初,我在图像视图上使用了功能getX,getY,setX和setY,这些功能在仿真器中有效。但是,在手机上使用它时,在这些功能上出现了一个名为NoSuchMethodError的错误。
这是我得到的确切错误(我在上面列出的每个函数中都得到了此错误):
java.lang.NoSuchMethodError:android.widget.ImageView.getX
根据我的研究,这是由于setX和setY仅在API11上实现的,在这种情况下,我们使用的是API10。我尝试了多种其他方式,例如使用setMatrix,changePos()和其他一些函数来更改ImageView的位置。
我的问题是,如果我使用的是API10,可以使用什么来移动像这样的ImageView?
最佳答案
您可以尝试使用布局参数。假设您正在使用FrameLayout
或任何其他支持边距的布局
private ImageView myView;// populated in onCcreate
private void moveImage(int x, int y) {
ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)myView.getLayoutParams();
lp.leftMargin = x;
lp.rightMargin = y;
requestLayout();
}