52、图片缩放库 PhotoView
PhotoView的简介: 这是一个图片查看库,实现图片浏览功能,支持pinch(捏合)手势或者点击放大缩小。支持在ViewPager中翻页浏览图片。 PhotoView 是一款扩展自Android ImageView ,支持通过单点/多点触摸来进行图片缩放的智能控件。功能实用和强大。
PhotoView的功能: 图片浏览查看 双指缩放 单点触摸缩放 图片缩放模式设置。
Android PhotoView 的用法:
导入 photoview-library-1.2.2.jar 包,布局XML里设置PhotoView 将ImageView传入PhotoViewAttacher。
代码演示: 使用 PhotoView进行网络图片和本地图片的加载,缩放和点击事件处理。
【注】universal-image-loader-1.9.2_sources.jar 是加载网络图片的JAR包。
<uk.co.senab.photoview.PhotoView
android:id="@+id/iv_photo"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
import android.app.Activity;
import android.os.Bundle;
import android.view.View; //PhotoView控件
import uk.co.senab.photoview.PhotoView;
import uk.co.senab.photoview.PhotoViewAttacher;
import uk.co.senab.photoview.PhotoViewAttacher.OnPhotoTapListener; // 加载网络图片库
import com.nostra13.universalimageloader.core.ImageLoader;
/**
* 加载网络图片和本地图片 * PhotoView进行缩放处理
*/
public class MainActivity extends Activity {
private PhotoView iv_photo;
private PhotoViewAttacher attacher;
private ImageLoader loader;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv_photo = (PhotoView) findViewById(R.id.iv_photo);
attacher = new PhotoViewAttacher(iv_photo);
// 加载本地图片,缩放处理
// try {
// InputStream is = getAssets().open("photoview.jpg");
// Bitmap bm = BitmapFactory.decodeStream(is);
// iv_photo.setImageBitmap(bm);
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// 加载网络图片
loader = ImageLoader.getInstance();
loader.displayImage("https://www.baidu.com/img/bdlogo.png", iv_photo);
// 点击事件
iv_photo.setOnPhotoTapListener(new OnPhotoTapListener() {
@Override
public void onPhotoTap(View arg0, float arg1, float arg2) { }
});
} }
1 import java.io.File;
import android.app.Application;
import android.content.Context; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.WeakMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.utils.StorageUtils; public class BaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
initImagloader(getApplicationContext());
} private void initImagloader(Context context) {
// 获取到缓存的目录地址
File cacheDir = StorageUtils.getOwnCacheDirectory(context,
"photoview/Cache");
// 创建配置ImageLoader(所有的选项都是可选的,只使用那些你真的想定制)
// 这个可以设定在APPLACATION里面,设置为全局的配置参数
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
// 线程池内加载的数量
.threadPoolSize(3).threadPriority(Thread.NORM_PRIORITY - 2)
.memoryCache(new WeakMemoryCache())
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
// 将保存的时候的URI名称用MD5 加密
.tasksProcessingOrder(QueueProcessingType.LIFO)
.discCache(new UnlimitedDiscCache(cacheDir))// 自定义缓存路径
// .defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.writeDebugLogs() // Remove for release app
.build();
// Initialize ImageLoader with configuration.
// 全局初始化此配置
ImageLoader.getInstance().init(config);
}
}
<application
android:name="com.jike.photoviewdemo.BaseApplication"
。。。>
。。。。。
</application>
<uses-permission android:name="android.permission.INTERNET"/>
下载地址:http://download.csdn.net/detail/androidsj/9278845
52、图片缩放库 PhotoView的更多相关文章
- 开源的图片查看库之PhotoView
PhotoView是一个开源的图片查看库,可以实现图片的浏览,手势放大缩小等操作,以及支持在ViewPager中翻页浏览图片等功能.PhotoView使用简单,还可以对缩放模式进行设置, 其开源地址为 ...
- iOS开发UI篇—UIScrollView控件实现图片缩放功能
iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...
- android关于图片缩放
网上有许多关于图片缩放的demo,本人都感觉不怎么好用,最近在github看到了 一个简单的支持多指缩放图片的Android View类 gesture-imageview (地址:https://g ...
- Android图片剪裁库
最近利用一周左右的业余时间,终于完成了一个Android图片剪裁库,核心功能是根据自己的理解实现的,部分代码参考了Android源码的图片剪裁应用.现在将该代码开源在Github上以供大家学习和使用, ...
- CSS实现图片缩放特效
今天是感恩节,祝大家感恩节快乐哦!最近天冷了,大家注意保暖哟.下面一起看看小颖写的demo吧. html代码: <!DOCTYPE html> <html> <head& ...
- HTML5 图片缩放功能
腾讯新闻上用的插件(xw.qq.com) 缩放插件scale.js (function(window, undefined) { var document = window.document, sup ...
- PHP图片裁剪_图片缩放_PHP生成缩略图
在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多,每天更新大量图,靠人工PS处理是不现实的,那么有没有自动处理图片的程序了! ...
- UISlider显示进度(并且实现图片缩放)
图片展示效果如下: 其他没什么好说的,直接上代码: RootView.h: #import <UIKit/UIKit.h> @interface RootView : UIView @pr ...
- Android图片缩放方法
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...
随机推荐
- Some Principles
立刻做 1.2分钟原则 凡是2分钟内就可以完成的事,立刻去做不要犹豫.人的大脑擅长分析处理,不擅长记忆. 应用举例: a.加微信加QQ顺手添加备注名,或许下次联系已经是三个月后了. b.吃完饭立刻洗碗 ...
- c# webbrowser 清除cookie和缓存
由于缓存文件是特殊的文件,以及WebBrowser与IE版本有关因此删除缓存绝对不可能用一些IO函数就总可以解决的因此我的这些函数在IO操作的基础上,又针对环境进行相应的清理. static clas ...
- 基于AndroidPn二次开发的可行性
一.背景 如果要自己搭建,从零开始做或基于开源进行修改扩充,开源的push引擎,90%的博文首推AndroidPN,结合公司现状,最优解决方案就是进行AndroidPN的二次开发了.先看一下这个项目: ...
- unity3d对象的克隆
对象克隆,需要有一个预制对象. 首先创建一个预制对象,将其命名为earth,并将材质包附着上去,如下图所示: 然后点住“earth”拖入Assets>Prefabs文件夹,此时earth文字变成 ...
- unity3d移动及键鼠状态
gameObject的transform属性可以进行位置.旋转.大小的设置 位置:position,Translate(),位置的移动 旋转:rotate 大小:localScale Vector3内 ...
- python \uxxxx转中文,Python列表中的字典 \uxxxx转中文,
import json a = [{u', u'roleFlag': 7}] print json.dumps(a).decode("unicode_escape") 输出结果是: ...
- yum中查找程序由哪个包提供
有时候知道程序的名称,却不知道由那个包提供,也就是说不知道安装那个包,可以使用这个命令. 我们由provides关键字可以使用. 举例:semanage是SELinux的一个管理工具,可是我使用:yu ...
- IOS,objective_C中用@interface和 @property 方式声明变量的区别
转自:http://www.cnblogs.com/letmefly/archive/2012/07/20/2601338.html 一直有疑问,在objective_C中声明变量会有 2种方式,今天 ...
- Xcode 警告信息处理:Format string is not a string literal (potentially insecure)
转自:http://www.oschina.net/question/54100_33881 NSObject *obj = @"A string or other object." ...
- 2.请求库之requests
requests模块阅读目录: 介绍 基于GET请求 基于POST请求 响应Response 高级用法 一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requ ...