联系
我们
投稿
反馈
评论 返回
顶部

内容字号: 默认 大号超大号

段落设置: 段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

Android应用开发 ScaleGestureDetector(缩放手势

2017-07-05 11:57 出处:互联网 人气: 评论(
暴力园丁俏厨娘 成都新余司法警官学校 百度宅男当崇祯sodu 广州著名裸官被判无期 摆钟论 死心列肺 娱乐圈潜规则之皇

@Override

import android.graphics.Color;

{

public void onCreate(Bundle savedInstanceState)

{

//重新锁一次

import android.graphics.Bitmap;

{

//清屏

@Override

});

android:layout_width=fill_parent

}

/>

// TODO Auto-generated method stub

mSurfaceHolder.unlockCanvasAndPost(mCanvas);

//返回给ScaleGestureDetector来处理

import android.graphics.BitmapFactory;

}

}

android:id=@+id/button

private Bitmap mBitmap = null;

一、概述

mSurfaceHolder.unlockCanvasAndPost(mCanvas);

android:layout_height=wrap_content

android:text=显示图片

android:layout_width=fill_parent

setContentView(R.layout.main);

mSurfaceView = (SurfaceView)this.findViewById(R.id.surfaceview);

二、要求

{

mSurfaceHolder.unlockCanvasAndPost(mCanvas);

public class ScaleGestureListener implements ScaleGestureDetector.OnScaleGestureListener

}

import android.view.View;

// TODO Auto-generated method stub

private ScaleGestureDetector mScaleGestureDetector = null;

// TODO Auto-generated method stub

}

@Override

三、实现

private SurfaceHolder mSurfaceHolder = null;

//重新锁一次

android:layout_height=fill_parent

mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mmm);

{

import android.view.SurfaceHolder;


import android.app.Activity;

import android.os.Bundle;

public boolean onScaleBegin(ScaleGestureDetector detector)

private SurfaceView mSurfaceView = null;

import android.graphics.Canvas;

{

mCanvas.drawColor(Color.BLACK);

android:layout_height=fill_parent

{

mSurfaceHolder.lockCanvas(new Rect(0, 0, 0, 0));

public void onClick(View v)

Matrix mMatrix = new Matrix();

import android.view.MotionEvent;

android:orientation=vertical >

//按钮监听

// TODO Auto-generated method stub

package com.nan.scale;

//锁定整个SurfaceView

/>

mButton = (Button)this.findViewById(R.id.button);

return true;

mMatrix.setScale(scale, scale);

import android.view.ScaleGestureDetector;

}

{

public class MyScaleActivity extends Activity

Canvas mCanvas = mSurfaceHolder.lockCanvas();

import android.view.SurfaceView;

super.onCreate(savedInstanceState);

利用ScaleGestureDetector这个类实现图片缩放。

public boolean onTouchEvent(MotionEvent event)

@Override

float scale = detector.getScaleFactor()/3;

mSurfaceHolder = mSurfaceView.getHolder();

mSurfaceHolder.unlockCanvasAndPost(mCanvas);

@Override

return false;

//锁定整个SurfaceView

//绘制完成,提交修改

@Override

mScaleGestureDetector = new ScaleGestureDetector(this,new ScaleGestureListener());

//绘制完成,提交修改

修改MyScaleActivity.java文件,主要是实现按钮的监听和定义一个类实现ScaleGestureDetector.OnScaleGestureListener接口:

private Button mButton = null;

public void onScaleEnd(ScaleGestureDetector detector)

android:layout_width=fill_parent

mSurfaceHolder.lockCanvas(new Rect(0, 0, 0, 0));

return mScaleGestureDetector.onTouchEvent(event);

import android.graphics.Rect;

public boolean onScale(ScaleGestureDetector detector)

Canvas mCanvas = mSurfaceHolder.lockCanvas();

mCanvas.drawBitmap(mBitmap, 0f, 0f, null);

本文引用地址:

ScaleGestureDetector这个类是专门用来检测两个手指在屏幕上做缩放的手势用的,最简单的应用就是用来缩放图片或者缩放网页。

//一定要返回true才会进入onScale()这个函数

{

import android.widget.Button;

import android.graphics.Matrix;

//画缩放后的图

新建工程MyScale,修改main.xml文件,在里面添加一个Button和一个SurfaceView,如下:

mCanvas.drawBitmap(mBitmap, mMatrix, null);

mButton.setOnClickListener(new View.OnClickListener()

}

android:id=@+id/surfaceview

//画图

//缩放比例

}

分享给小伙伴们:
本文标签:

更多文章

相关文章

  • 蛮便宜
  • 抠门网
  • Copyright © 2002-2014 版权所有