1

onTouch() リスナーを持つカスタム ビューがあります。このビューは RelativeLayout に追加されるため、次のようになります。

CustomView mv = new CustomView(mActivity);
RelativeLayout rl = ((RelativeLayout) mActivity.findViewById(R.id.main_layout));
rl.addView(mv);

API8 の下で、できればビューの onTouch() リスナーに常駐するコードによって、ビューを指でドラッグしたいと考えています。

おそらく setPadding() または RelativeLayout.LayoutParams() の端に沿った数行のコードですが、1 時間の試行錯誤の後、私はそれを見つけることができません。

手がかりはありますか?どうもありがとう。

PS: onTouch は正常に動作しますが、ビューを移動するために追加できるコード行がわかりません。

4

1 に答える 1

1

FrameLayout を使用してから、CustomView のマージンを次のように変更することをお勧めします。

LayoutParams params = (FrameLayout.LayoutParams) mv.getLayoutParams();
params.leftMargin = x;
params.topMargin = y;
mv.setLayoutParams(params);

お役に立てれば。

于 2012-12-16T00:54:55.430 に答える