多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参考一下
import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.FrameLayout; import android.widget.FrameLayout.LayoutParams; import android.widget.ImageView; public class MainActivity extends Activity implements OnTouchListener{ private FrameLayout framelaout; private ImageView imageView; private int oldlength = -1; private int currentlength = -1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); framelaout = (FrameLayout) findViewById(R.id.container); imageView = (ImageView) findViewById(R.id.img); framelaout.setOnTouchListener(this); } @Override public boolean onTouch(View arg0, MotionEvent arg1) { // TODO Auto-generated method stub switch (arg0.getId()) { case R.id.container: switch (arg1.getAction()) { case MotionEvent.ACTION_DOWN: System.out.println("鼠标落下"); break; case MotionEvent.ACTION_MOVE: if(arg1.getPointerCount()>1){ double x = arg1.getX(1)-arg1.getX(0); double y = arg1.getY(1)-arg1.getY(0); currentlength = (int) Math.sqrt(x*x+y*y); if(oldlength>0){ if(oldlength-currentlength>5){ FrameLayout.LayoutParams lp = (LayoutParams) imageView.getLayoutParams(); lp.width = (int) (0.9f * imageView.getWidth()); lp.height = (int) (0.9f * imageView.getHeight()); //防止缩到0的话就不再变大了 if(lp.width<100){ break; } imageView.setLayoutParams(lp); } if(currentlength-oldlength>5){ FrameLayout.LayoutParams lp = (LayoutParams) imageView.getLayoutParams(); lp.width = (int) (1.1f * imageView.getWidth()); lp.height = (int) (1.1f * imageView.getHeight()); imageView.setLayoutParams(lp); } } oldlength = currentlength; } System.out.println("鼠标移动"); break; case MotionEvent.ACTION_UP: System.out.println("鼠标抬起"); break; default: break; } break; default: break; } //如果不返回true的话,只会接收到up事件 return true; } }
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/pkq" /> </FrameLayout>
发表评论
-
2048源码(核心算法有,缺少几个anctionbar,以后补上)
2014-09-25 13:22 15292048游戏基本上有四部分组成, 1:主activity,包含 ... -
android动画效果
2014-09-24 18:06 1146前几天弄alertdialog和popupwindow的时候, ... -
AlertDialog和PopupWindow
2014-09-18 15:44 1900区别:AlertDialog是非阻塞式对话框:AlertDia ... -
基础篇--resources资源
2014-09-12 15:18 538最近一直在做java开发,偶尔敲点android代码,突然发现 ... -
Toast的多种样式(附带Notification)
2014-09-01 13:48 939Toast以前用的时候一直以为只有文字提示,偶然得知也有多种样 ... -
Android Adapter详解(2)
2014-08-15 14:05 10以前Adapter一直用的不是太好,经过长时间的浸淫,现在可以 ... -
BroadcastReceiver简介
2014-08-14 16:27 674BroadcastReceiver作为四大 ... -
关于Android的Service
2014-08-14 13:57 463说起来真是羞愧,以前手机经常开机的时候,不会有任何QQ消息通知 ... -
在开发过程中易出的错误
2014-08-13 16:53 4151:如果继承ListActivity,那么layout中必须有 ... -
多媒体的浅尝辄止
2014-08-12 15:57 536下面简单讲几种Android的多媒体技术,音频,视频,摄像头, ... -
Sqlite无脑使用
2014-08-11 14:56 889不会sqlite的人再也不用愁了,无脑使用,只要会粘贴复制就O ... -
android弹出框
2014-08-11 11:23 517不得不说,android自带的弹出框真心丑,而且还不好用,接下 ... -
android几种数据存储方式
2014-08-11 10:45 712android数据存储方式 1:SharedPreferen ... -
SQLiteOpenHelper和ContentProvider区别
2014-08-06 15:08 1440Android中操作数据库主要有两种方法:使用SQLiteOp ... -
xml文件解析SAX
2014-08-05 13:45 503xml文件解析:xml文件解析有四种方式, 1.DOM生成和解 ... -
Android不常用代码(1)
2014-07-31 18:07 543目录 1:Webview 2:js交互 1:Web ... -
系统窗口的调用
2014-07-31 15:46 470直接上代码吧,intent进行调用 @Override ... -
fragment简单实用及数据传递(2)
2014-07-31 15:13 2550FragmentTransaction 进行数据传递 imp ... -
ActionBar简介
2014-07-31 10:47 713Action bar是一个标识应用程序和用户位置的窗口功能,并 ... -
fragment简单实用及数据传递(1)
2014-07-30 16:29 737Fragment的使用相关 使用Fragment时,需要继承 ...
相关推荐
在Android开发中,创建一个支持多点触摸图片缩放的自定义控件是一项常见的需求,尤其在设计交互式应用或图像查看器时。这个控件允许用户通过两个手指的动作来放大或缩小显示的图片,提供了丰富的用户体验。下面将...
本项目“多点触摸框架与图片缩放”就是基于C#和WPF实现的开源解决方案,旨在提供一个直观、易用且功能丰富的多点触摸应用实例。 首先,让我们详细了解一下多点触摸技术。多点触摸允许用户同时使用两个或更多个手指...
在本篇文章中,我们将探讨如何在Android应用中实现多点触摸图片缩放的具体方法。 首先,我们需要创建一个可以响应多点触摸事件的布局。在给出的XML布局文件中,我们可以看到一个`RelativeLayout`作为根视图,其中...
在图片缩放的场景下,捏合手势是最关键的,它模拟了人们在现实世界中调整物体大小的动作,一个手指固定,另一个手指靠近或远离,以实现放大或缩小。 要实现这个功能,开发者通常会使用UIKit(iOS)或Android SDK中...
以上就是实现多点触摸图片缩放的基本流程。在实际开发中,你可能需要进一步优化,例如添加平移功能(使用UIPanGestureRecognizer)以便在缩放后可以移动图片,或者添加双击手势来恢复图片到原始大小。在L026_...
在安卓平台上,开发一款应用以实现多点触摸缩放图片是一项常见的需求,这通常涉及到手势识别和图像处理技术。在本项目中,开发者创建了一个应用,允许用户通过多点触摸来缩放图片,并通过单点触摸移动图片。下面将...
总的来说,这个源码示例是一个实用的教程,可以帮助开发者理解如何在Android应用中实现图片的多点触摸缩放功能,同时也为自定义视图的开发提供了参考。通过深入研究并理解这段代码,开发者可以更好地掌握Android中的...
在本文中,我们将深入探讨如何使用C# Winform开发一个支持触摸屏的图片缩放应用程序。这个项目的核心技术包括RegisterTouchWindow的使用、控件的子类化以及自定义消息处理,以及通过触摸手势实现图片的等比例缩放。...
本文将详细探讨两种在Android手机上实现屏幕截图的方法,并重点介绍一种用于图片多点触摸缩放的工具类,帮助开发者创建更加互动和用户体验良好的应用。 首先,让我们来看看Android手机如何进行屏幕截图。方法一,...
在`ACTION_MOVE`事件中,计算每个点的移动距离和方向,从而实现例如缩放、旋转或平移等多点触摸操作。 五、多点触摸的应用场景 多点触摸技术在Android应用开发中有广泛的应用,如: - 图片查看器:通过双指缩放...
在Android开发中,实现“通过单点多点触摸来进行图片缩放的智能控件”是一项常见的需求,这通常涉及到用户交互和图像处理技术。这个控件的实现基于Android的触摸事件处理机制,允许用户通过手指的触摸动作来对图片...
两个手指滑动缩放画面用于Android手机端,没有进行ios的测试
在IT行业中,多点触摸...总之,多点触摸在Director12中的应用为创意设计和互动体验带来了无限可能。通过理解和实践"DirectorMultitouch"示例程序,开发者可以更好地掌握这一技术,创造出更具吸引力的多媒体应用程序。
在Android开发中,图片缩放和多点触摸是两个关键的技术点,特别是在创建交互式用户界面和图形应用时。本文将深入探讨这两个概念,并结合源码分析如何在Android平台上实现它们。 首先,我们来理解图片缩放。在...
多点触控图片缩放功能为用户提供了更自然、直观的交互体验。通过监听触摸事件、计算缩放比例、更新图片视图以及使用Gallery容器管理多张图片,开发者可以构建出功能丰富的图片查看应用。同时,优化性能是确保流畅...
这个名为"DoubleTouchDemo"的应用程序示例,旨在帮助开发者理解如何在Android平台上实现多点触摸功能。 一、Android多点触摸基础 Android系统通过`MotionEvent`类支持多点触摸。`MotionEvent`对象包含了触摸事件的...
在安卓开发中,图片缩放和多点触摸是两个重要的功能点,特别是在开发涉及用户交互的应用,如图像查看器、地图应用或者任何需要用户手势控制的界面时。本压缩包"安卓源码图片缩放和多点触摸1.zip"包含了实现这两个...
在安卓平台上,开发一款能够支持图片缩放和多点触摸的应用是常见的需求,这涉及到Android SDK中的多个关键知识点。此压缩包"安卓源码图片缩放和多点触摸.zip"很可能包含了一个示例项目,用于演示如何实现这些功能。...