移动图片,,package com.
分享于 点击 25025 次 点评:178
移动图片,,package com.
package com.android.touch;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.ImageView;public class TouchImageActivity extends Activity { /** Called when the activity is first created. */ ImageView image; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //得到屏幕大小 DisplayMetrics dm=getResources().getDisplayMetrics(); final int screeWidth=dm.widthPixels; final int screeHeight=dm.heightPixels-50; image=(ImageView)findViewById(R.id.image); image.setOnTouchListener(new OnTouchListener() { int lastX; int lastY; @Override public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()) { case MotionEvent.ACTION_DOWN: lastX=(int) event.getRawX(); lastY=(int)event.getRawY(); break; case MotionEvent.ACTION_MOVE: int dx=(int)event.getRawX()-lastX; int dy=(int)event.getRawY()-lastY; int l=v.getLeft()+dx; int b=v.getBottom()+dy; int r=v.getRight()+dx; int t=v.getTop()+dy; if(l<0) { l=0; r=l+v.getWidth(); } if(t<0) { t=0; b=t+v.getHeight(); } if(r>screeWidth) { r=screeWidth; l=r-v.getWidth(); } if(b>screeHeight) { b=screeHeight; t=b-v.getHeight(); } v.layout(l, t, r, b); lastX=(int)event.getRawX(); lastY=(int)event.getRawY(); break; case MotionEvent.ACTION_UP: break; } return true; } }); }}//该片段来自于http://byrx.net
用户点评