Android 开源photoView的使用
Android开源photoView,可以让一个View视图,随意拉伸,并可里面封装了很多其他方法,可以设置单击事件、长按事件、试图的缩放类型、图片缩放是否显示动画等等效果。、
使用起来是蛮简单的,但是功能不简单哦。
photoView在GitHub中的源码地址:
https://github.com/chrisbanes/PhotoView
你可以直接依赖使用,但是我已经把photoView的几个关键代码类,复制到自己工程中了,相关的类也是不多的,如图:
所有的方法都是封装在PhotoView中了,大家可以打开看到里面的所有方法,当然也是可以自己添加一些。
下面是使用的代码示例:
package com.example.photoview;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import java.com.github.chrisbanes.photoview.PhotoView;
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//实例化对象
final PhotoView photoView = (PhotoView) findViewById(R.id.photoView);
//放入Bitmap对象,也可以把自定义View转化为Bitmap对象,传人
// Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),
// R.drawable.ic_launcher);
// photoView.setImageBitmap(bitmap);
//传人R资源
photoView.setImageResource(R.drawable.ic_launcher);
//图片的填充类型
photoView.setScaleType(ImageView.ScaleType.FIT_XY);
// photoView.setZoomable(false);//设置不能缩放
//X方向拉伸5倍
// photoView.setScaleX(5);
//设置View的长按事件
photoView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(MyActivity.this, "你长按了界面", Toast.LENGTH_SHORT).show();
//设置尺寸和是否显示动画,1代表原始大小
photoView.setScale(1, true);
return true;
}
});
}
}
布局文件也是很简单的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="photoView的使用"
android:gravity="center"
android:textSize="30sp"
android:background="#f00"
/>
<java.com.github.chrisbanes.photoview.PhotoView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/photoView"
/>
</LinearLayout>
显示效果:
这里也提供一下我的源码,供大家参考,PhotoView的相关类已经在里面了,不用依赖就可以直接使用(特别适合Eclipse或IDEA中使用)。
http://download.csdn.net/detail/wenzhi20102321/9789780