1、android 拖动图片拖动浮动按钮android 拖动图片/拖动浮动按钮Java代码 import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.os.Bundle; import android.view.MotionEvent ; import android.widget.AbsoluteLayout; import android.widget.Button; public class Drag_And_Drop extends
2、Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle icicle) super.onCreate(icicle); MyView tx = new MyView(this); tx.setText(Drag Me); AbsoluteLayout l = new AbsoluteLayout(this); AbsoluteLayout.LayoutParams p = new AbsoluteLayout.LayoutParams( AbsoluteLayo
3、ut.LayoutParams.WRAP_CONTENT, AbsoluteLayout.LayoutParams.WRAP_CONTENT,10,10); l.addView(tx,p); setContentView(l); class MyView extends Button public MyView(Context c) super(c); Override public boolean onMotionEvent(MotionEvent event) int action = event.getAction(); int mCurX = (int)event.getX(); in
4、t mCurY = (int)event.getY(); if ( action = MotionEvent.ACTION_MOVE ) /this.setText(x: + mCurX + ,y: + mCurY ); AbsoluteLayout.LayoutParams p = new AbsoluteLayout.LayoutParams(AbsoluteLayout.LayoutParams.WRAP_CONTENT, AbsoluteLayout.LayoutParams.WRAP_CONTENT,this.mLeft + mCurX,this.mTop + mCurY); thi
5、s.setLayoutParams (p); if ( action = MotionEvent.ACTION_UP ) /this.setText(not moving); return true; Override public void draw(Canvas canvas) / TODO Auto-generated method stub super.draw(canvas); 拖拽图片效果 方法一: Java代码 import android.app.Activity; import android.os.Bundle; import android.view.MotionEven
6、t; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView; public class DragSample01 extends Activity ImageView img; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.drag_sample01); img =
7、 (ImageView)findViewById(R.id.img_view); img.setOnTouchListener(new OnTouchListener() private int mx, my; public boolean onTouch(View v, MotionEvent event) switch(event.getAction() case MotionEvent.ACTION_MOVE: mx = (int)(event.getRawX(); my = (int)(event.getRawY() - 50); v.layout(mx - img.getWidth(
8、)/2, my - img.getHeight()/2, mx + img.getWidth()/2, my + img.getHeight()/2); break; return true; ); 方法二: Java代码 import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView;
9、 public class DragSample01 extends Activity ImageView img; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.drag_sample01); img = (ImageView)findViewById(R.id.img_view); img.setOnTouchListener(new OnTouchListener() private float x,
10、y; private int mx, my; public boolean onTouch(View v, MotionEvent event) switch(event.getAction() case MotionEvent.ACTION_DOWN: x = event.getX(); y = event.getY(); case MotionEvent.ACTION_MOVE: mx = (int)(event.getRawX() - x); my = (int)(event.getRawY() - 50 - y); v.layout(mx, my, mx + v.getWidth(),
11、 my + v.getHeight(); break; return true; ); 拖动按钮到处跑 1. 布局文件 Xml代码 2. 代码 Java代码 import android.app.Activity; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.Button;
12、 public class DraftTest extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); final Button btn = (Button) findViewById(R.id.btn); btn.setOnTouchListener(new OnTouch
13、Listener() int temp = new int 0, 0 ; public boolean onTouch(View v, MotionEvent event) int eventaction = event.getAction(); int x = (int) event.getRawX(); int y = (int) event.getRawY(); switch (eventaction) case MotionEvent.ACTION_DOWN: / touch down so check if the temp0 = (int) event.getX(); temp1 = y - v.getTop(); break; case MotionEvent.ACTION_MOVE: / touch drag with the ball v.layout(x - temp0, y - temp1, x + v.getWidth() - temp0, y
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1