项目中遇到控件跟随手指触摸移动的部分,简单测试了下。

package com.example.viewanimationtest;/** * @author maria * 2013-2-16 */import android.os.Bundle;import android.app.Activity;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.RelativeLayout;public class MainActivity extends Activity implements OnTouchListener {Button _view;ViewGroup _root;private int _xDelta;private int _yDelta;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);_root = (ViewGroup) findViewById(R.id.root);_view = (Button) findViewById(R.id.id_text);RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(150, 50);layoutParams.leftMargin = 50;layoutParams.topMargin = 50;layoutParams.bottomMargin = -250;layoutParams.rightMargin = -250;_view.setLayoutParams(layoutParams);_view.setOnTouchListener(this);}public boolean onTouch(View view, MotionEvent event) {final int X = (int) event.getRawX();final int Y = (int) event.getRawY();switch (event.getAction() & MotionEvent.ACTION_MASK) {case MotionEvent.ACTION_DOWN:RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();_xDelta = X - lParams.leftMargin;_yDelta = Y - lParams.topMargin;break;case MotionEvent.ACTION_UP:break;case MotionEvent.ACTION_POINTER_DOWN:break;case MotionEvent.ACTION_POINTER_UP:break;case MotionEvent.ACTION_MOVE:RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view.getLayoutParams();layoutParams.leftMargin = X - _xDelta;layoutParams.topMargin = Y - _yDelta;layoutParams.rightMargin = -250;layoutParams.bottomMargin = -250;view.setLayoutParams(layoutParams);break;}_root.invalidate();return true;}}


 

.xml

    


 

更多相关文章

  1. android 自定义控件实现波浪效果(八)
  2. android 自定义控件pickview
  3. 控件布局_FrameLayout(网格布局)
  4. Android控件开发之三----Button
  5. android开源系列:CircleImageView自定义圆形控件的使用
  6. android 调用系统通讯录添加联系人,并将号码传值到相应的控件内
  7. Android之获取控件的坐标
  8. 控件:ExpandableListView --- 树型组件
  9. Android拖动控件改变其位置

随机推荐

  1. Android获取SD卡上的APK文件
  2. Android(安卓)Studio的使用和配置
  3. linux开机logo 和 android开机logo 的修
  4. Android(安卓)Studio加载第三方jar包,出现
  5. android 逆向工程-工具篇 jadx(九)
  6. Android获取桌面应用程序
  7. Android(安卓)TextView实现下划线的几种
  8. Android中UDP发送报文
  9. [译]Android架构组件 – 查看ViewModel
  10. H5 调用android原生相机代码分析