欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

移动图片,,package com.

来源: javaer 分享于  点击 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
相关栏目:

用户点评