页面:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >


<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="94dp"
android:layout_marginTop="170dp"
android:src="@drawable/ic_launcher"
android:scaleType="matrix" />


</RelativeLayout>

代码部分:

package com.hbsi.csdn.DragImage;


import android.os.Bundle;
import android.app.Activity;
import android.graphics.Matrix;
import android.graphics.Point;
import android.graphics.PointF;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;


public class MainActivity extends Activity {
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv=(ImageView) findViewById(R.id.imageView1);
iv.setOnTouchListener(new OnTouchListener() {
Matrix matrix=new Matrix();
PointF startPoint=new PointF();
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch(event.getAction()&MotionEvent.ACTION_MASK){
case
MotionEvent.ACTION_DOWN:
startPoint.set(event.getX(),event.getY());
break;
case
MotionEvent.ACTION_UP:
break;
case
MotionEvent.ACTION_MOVE:
float dx,dy;
dx=event.getX()-startPoint.x;
dy=event.getY()-startPoint.y;
matrix.postTranslate(dx, dy);
startPoint.set(event.getX(),event.getY());
break;
case
MotionEvent.ACTION_POINTER_1_DOWN:
break;
case
MotionEvent.ACTION_POINTER_1_UP:
break;


}
iv.setImageMatrix(matrix);
return false;
}
});
}
}

更多相关文章

  1. Android自定义viewpager且高度自适应
  2. Android截图功能代码
  3. Android(安卓)Audio代码分析14 - testPlaybackHeadPositionIncre
  4. Android下编写HelloWorld
  5. 屏幕亮屏、熄屏监听代码
  6. 使用Intent实现页面跳转 (另一种方法)
  7. Android(安卓)ProGuard打包混淆代码
  8. 改变滚动条的颜色ScrollView
  9. 淘宝:模拟实现帮助提示页面

随机推荐

  1. Apache Spark 背后公司 Databricks 完成F
  2. 给你梳理了 44 个 CSS 精选知识点
  3. Vue自学之路4-vue模版语法(v-clock)
  4. DolphinDB模块复用教程
  5. 第五课 实例演示flex容器中的四个属性的
  6. 宝塔面板非https站点使用https访问跳转其
  7. grid的描述
  8. 排查指南 | 当 mPaaS 小程序提示“应用更
  9. 技术干货 | mPaaS 框架下如何使用 Crash
  10. 排查指南 | mPaaS 小程序被卡在了三个蓝