概述
一.Android PhotoView 和 GifView 的基本功能简介
1.hotoView的简介:这是一个图片查看库,实现图片浏览功能,支持pinch(捏合)手势或者点击放大缩小。支持在ViewPager中翻页浏览图片。
PhotoView 是一款扩展自Android ImageView ,支持通过单点/多点触摸来进行图片缩放的智能控件。功能实用和强大。
2.GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片。可监视GIF是否加载成功。
3.PhotoView的功能:
- 图片浏览查看
- 双指缩放
- 单点触摸缩放
- 图片缩放模式设置
- 播放Gif图片
- Gif动画监听
二.Android PhotoView 的用法
1.基本用法:
导入jar包,布局XML里设置PhotoView
将ImageView传入PhotoViewAttacher
2.代码演示:
使用 PhotoView进行网络图片和本地图片的加载,缩放和点击事件处理
BaseApplication.java
package com.test.photoviewdemo;
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);// 全局初始化此配置
}
}
MainActivity.java
package com.test.photoviewdemo;
import uk.co.senab.photoview.PhotoView;
import uk.co.senab.photoview.PhotoViewAttacher;
import uk.co.senab.photoview.PhotoViewAttacher.OnPhotoTapListener;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.nostra13.universalimageloader.core.ImageLoader;
/**
* 加载网络图片和本地图片
*
* PhotoView进行缩放处理
*
* @author Administrator
*
*/
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) {
}
});
}
}
三.Android GifView 的用法
1.基本用法:
导入jar包
在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件
在代码中配置常用属性
2.代码演示:
使用 GifView进行网络Gif图片和本地Gif图片的加载和监听
布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.admin.tempapplication.MainActivity">
<com.ant.liao.GifView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/view"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="171dp" />
</RelativeLayout>
代码逻辑
MainActivity.java
package com.example.admin.tempapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.ant.liao.GifView;
public class MainActivity extends AppCompatActivity{
GifView gifView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gifView=(GifView)findViewById(R.id.view);
gifView.setGifImage(R.drawable.loadig);
}
}
最后
以上就是迷人百合为你收集整理的图片缩放库 Photoview 和 Gif 控件GifView 的使用的全部内容,希望文章能够帮你解决图片缩放库 Photoview 和 Gif 控件GifView 的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复