package com.xf;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 XFActivity extends Activity implements OnTouchListener{private ImageView iv;//拖动用的图片int x,y;//图片上一个的XY位置int screenWidth,screenHeight;//当前屏幕的宽度和高度(像素表示)    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                DisplayMetrics dm = getResources().getDisplayMetrics();         screenWidth = dm.widthPixels;         screenHeight = dm.heightPixels;                 iv=(ImageView)findViewById(R.id.im);        iv.setOnTouchListener(this);    }@Overridepublic boolean onTouch(View v, MotionEvent e) {System.out.println(e.getAction());switch(e.getAction()){case MotionEvent.ACTION_DOWN://按下//获取按下时的X,Y轴位置  x = (int) e.getRawX();            y = (int) e.getRawY();break;case MotionEvent.ACTION_UP://松开break;case MotionEvent.ACTION_MOVE://执行 ACTION_DOWN 才执行 ACTION_MOVEint mX = (int)e.getRawX()-x;int mY = (int)e.getRawY()-y;int left = v.getLeft()+mX;int top = v.getTop()+mY;int right = v.getRight()+mX;int bottom = v.getBottom()+mY;  // 设置不能出界                 if (left < 0) {                     left = 0;                     right = left + v.getWidth();                 }                  if (right > screenWidth) {                     right = screenWidth;                     left = right - v.getWidth();                 }                  if (top < 0) {                     top = 0;                     bottom = top + v.getHeight();                 }                  if (bottom > screenHeight) {                     bottom = screenHeight;                     top = bottom - v.getHeight();                 }v.layout(left,top,right,bottom);//记住手指滑动所在的X,Y轴位置,也就是上一个X,Y轴的位置x = (int) e.getRawX();                  y = (int) e.getRawY(); break;}return true;}}

更多相关文章

  1. Android在SurfaceView绘图
  2. IP地址获取
  3. Android(安卓)模拟键值
  4. Android(安卓)开发定位Demo
  5. 在activitygroup中用startActivityForResult
  6. AsyncTask executeOnExecutor
  7. Android-section-list分组列表
  8. Android的生命周期中的方法的执行场景
  9. Android获取所有存储卡挂载路径

随机推荐

  1. afinal框架之Android视频下载,指定路径
  2. Android中gravity与layout_gravity的区别
  3. 新版本的tlplayer for android ,TigerLea
  4. Android 编程下的 Secret Code
  5. 简单拨打电话程序
  6. Android平台上长连接的实现
  7. android 通过http访问服务器数据
  8. android之mina框架通信学习
  9. 成佩涛编程之路——android之jquery使用(
  10. ubuntu环境下android开发平台的搭建