当前位置:首页 > 开发 > 移动开发 > 正文

Android通过手势实现的缩放处理

发表于: 2011-11-24   作者:252831020   来源:转载   浏览:
摘要: import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import and

import android.app.Activity;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.os.Bundle;

import android.util.DisplayMetrics;

import android.view.MotionEvent;

import android.view.View;

 

/**

* ...

* @author vlinux

*/

public class MultiTouchTestActivity extends Activity {

        /** Called when the activity is first created. */

        @Override

        public void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);

                // setContentView(R.layout.main);

                View view = new MultiTouchView(this);

                setContentView(view);

        }

 

        class MultiTouchView extends View {

 

                private float x1;

                private float y1;

                private float x2;

                private float y2;

 

                public MultiTouchView(Context context) {

                        super(context);

                        // TODO Auto-generated constructor stub

                }

 

                @Override

                public boolean onTouchEvent(MotionEvent event) {

                        // TODO Auto-generated method stub

 

                        float size = event.getSize();

 

                        int szi = (int) size;

                        int dxi = szi >> 12;

                        int dyit = ((1 << 12) - 1);

                        int dyi = szi & dyit;

 

                        DisplayMetrics metrics = getResources().getDisplayMetrics();

                        float dx = metrics.widthPixels * dxi / (float) dyit;

                        float dy = metrics.heightPixels * dyi / (float) dyit;

 

                        x1 = event.getX();

                        y1 = event.getY();

 

                        x2 = x1 + dx;

                        y2 = y1 + dy;

 

                        invalidate();

 

                        return true;

                }

 

                @Override

                protected void onDraw(Canvas canvas) {

                        // TODO Auto-generated method stub

                        super.onDraw(canvas);

 

                        float r = (float) Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2)

                                        * (y1 - y2)) / 2;

                        r = 50 >= r ? 50 : r;

 

                        Paint paint = new Paint();

                        paint.setColor(Color.BLUE);

                        canvas.drawCircle(x1, y1, r, paint);

 

                }

 

        }

 

}

Android通过手势实现的缩放处理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
原文《我认为HTC HERO-ROM支持所谓的多点触摸是个谎言》我觉得太具有攻击性,和我平时的风格不大相符
功能效果图 1。原点位置 2.移动后位置 这只是我写的一个Test功能,不足处多多指教!QQ503490146 下
转自: http://blog.csdn.net/yuejingjiahong/article/details/6658877 功能效果图 1。原点位置 2.
一、概述 ScaleGestureDetector这个类是专门用来检测两个手指在屏幕上做缩放的手势用的,最简单的应
下面的例子是用手势来缩放图片,手指往右划是放大,往左是缩小 下面效果在手机模拟器上呈现的只能是
为了实现广告轮播功能,在网上找了很多方法,有的效果很好,但是代码太麻烦,并且大多是用的viewpag
在Android应用中,图片随手势的拖拽、缩放、旋转在很多场景中都会用到,今天我们要做的就是在ImageV
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/11/2390274.html 一、概述 ScaleGesture
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/11/2390274.html 一、概述 ScaleGesture
关注微信号:javalearns 随时随地学Java 或扫一扫 随时随地学Java 前段时间因产品需求,做了一个手
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号