这里演示控件拖动的动画:

Android控件拖动_第1张图片

原理就是响应控件的Touch事件,在Touch事件中对移动进行处理,注意,一定要在布局文件中设置控件的

android:clickable="true"。

代码如下:

package com.zhycheng.draftdemo;import android.app.Activity;import android.os.Bundle;import android.view.Display;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.ImageView;public class DraftDemoActivity extends Activity implements OnTouchListener {ImageView iv;int screenWidth,screenHeight;int lastX,lastY;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        iv=(ImageView) findViewById(R.id.imageView1);        iv.setOnTouchListener(this);        Display dis=this.getWindowManager().getDefaultDisplay();        screenWidth=dis.getWidth();        screenHeight=dis.getHeight();            }@Overridepublic 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 top=v.getTop()+dy;int left=v.getLeft()+dx;if(top<=0){top=0;}if(top>=screenHeight-iv.getHeight()){top=screenHeight-iv.getHeight();}if(left>=screenWidth-iv.getWidth()){left=screenWidth-iv.getWidth();}if(left<=0){left=0;}v.layout(left, top, left+iv.getWidth(), top+iv.getHeight());lastX=(int)event.getRawX();lastY=(int)event.getRawY();break;case MotionEvent.ACTION_UP:break;}return false;}}


工程代码下载:Android控件拖动

更多相关文章

  1. Android之改变控件的背景及形态
  2. Android 技巧 - listview 里面的图片不能响应onClick事件?
  3. Android 可响应drawable点击事件的TextView
  4. 81.s1-禁用checkBox点击事件
  5. Spinner控件的使用
  6. 使用saripaar对android输入控件进行快速验证
  7. Android 按钮点击两次触发不同的事件
  8. Android自定义控件布局刷新自定义控件回到初始位置问题的解决
  9. Android declare-styleable:自定义控件的属性(attr.xml,TypedArra

随机推荐

  1. android学到啥时候就高级了啊
  2. 【Android增量升级系列_02】 浅谈Android
  3. Android(安卓)Canvas练习(1)画一张报表来
  4. android编程之在单线程模型中Message、Ha
  5. 19_利用android提供的HanziToPinyin工具
  6. android架构之美
  7. 两份安卓学习资料,我建议你看完
  8. 最近,又有人在谈论Android的前景了!深入解
  9. 最近Android挺火啊,都没有什么感想吗
  10. 微软和Wistron再度联手,Android和Chrome O