1

X または Y 座標をインクリメントして画像ビューを移動します。最初に、エミュレーターで機能する関数 getX、getY、setX、および setY をイメージ ビューで使用しました。ただし、電話で使用すると、これらの関数で NoSuchMethodError というエラーが発生しました。

私が得ている正確なエラーは次のとおりです(上記の関数ごとにこれを取得します): java.lang.NoSuchMethodError: android.widget.ImageView.getX

私の調査によると、これは setX と setY が API11 にのみ実装されているという事実が原因であり、その場合は API10 を使用しています。setMatrix、changePos()、およびその他のいくつかの関数を使用して ImageView の位置を変更するなど、他のさまざまな方法を試しました。

私の質問は、API10 を使用している場合、このように ImageView を移動するために何を使用できますか?

4

2 に答える 2

1

レイアウト パラメータを試してみることができます。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();
}
于 2013-08-01T23:38:07.977 に答える