首页 > 代码库 > android关于图片缩放

android关于图片缩放

网上有许多关于图片缩放的demo,本人都感觉不怎么好用,最近在github看到了 一个简单的支持多指缩放图片的Android View类 gesture-imageview (地址:https://github.com/jasonpolites/gesture-imageview),感觉还挺好用的,现在写个demo方便以后用于调用

第一步:添加库,推荐直接下载zip,导入工程后,直接将main里的com.polites.android包直接复制到自己的工程中,方便自己以后修改

第二步:由于我只需用到GestureImageView类就可以了,所以本例子只调用了这个类

以下是代码:MainActivity.java

package com.example.android_imageview;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import com.polites.android.GestureImageView;public class MainActivity extends Activity implements OnClickListener{    protected GestureImageView view;    Button btn_save,btn_close;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        view = (GestureImageView) findViewById(R.id.gestureimage_image);        //本例子只用本地图片作为示例图片,图片可以任意改        view.setImageResource(R.drawable.ic_launcher);    }    @Override    public void onClick(View arg0) {        if(arg0.getId() == R.id.btn_save){            //保存图片的method                    }else if(arg0.getId() == R.id.btn_close){            //关闭Activity            finish();        }            }}


布局文件:activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:gesture-image="http://schemas.polites.com/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#000000">        <com.polites.android.GestureImageView        android:id="@+id/gestureimage_image"        android:layout_width="fill_parent"        android:layout_height="fill_parent"         android:layout_centerInParent="true"        gesture-image:min-scale="0.75"        gesture-image:max-scale="10.0"/>    <Button         android:id="@+id/btn_save"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:text="save"/>    <Button         android:id="@+id/btn_close"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"        android:text="close"/></RelativeLayout>

 

注意:RelativeLayout中的 xmlns:gesture-image=http://schemas.polites.com/android必须要添加,不然得话会报错,以下三个属性为控制图片缩放的

gesture-image:min-scale 缩放最小值gesture-image:max-scale 缩放最大值gesture-image:strict  是否精确

附加一句:GestureImageView使用方式和 ImageView 的使用方式是一样的。

各位也可看一下源码,更清楚一点