Glide网络图片滑动查看,可缩放(PhotoView example)
来源:互联网 发布:阿里云空间怎么买 编辑:程序博客网 时间:2024/05/16 18:55
需求是,接口中拿到的图片地址List进行滑动查看,并且可对图进行缩放查看,单张图片加载使用Glide
实现:
使用 ViewPager滑动加载Fragment,Fragment布局是一个PhotoView(extends ImageView)进行图片加载和加载后的缩放
首先,引入PhotoView
compile 'com.github.chrisbanes:PhotoView:2.1.3'
接着,我们的用于加载并实现图片缩放的Fragment及其布局
import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.bumptech.glide.Glide;import com.bumptech.glide.load.resource.drawable.GlideDrawable;import com.bumptech.glide.request.animation.GlideAnimation;import com.bumptech.glide.request.target.GlideDrawableImageViewTarget;import com.github.chrisbanes.photoview.PhotoView;import com.github.chrisbanes.photoview.PhotoViewAttacher;import cn.reschool.parent.R;/** * Created by kLin 11509 on 9/14/2017. * email 1150954859@qq.com */public class PictureSlideFragment extends Fragment{ private String url; private PhotoViewAttacher mAttacher; private PhotoView imageView; public static PictureSlideFragment newInstance(String url) { PictureSlideFragment f = new PictureSlideFragment(); Bundle args = new Bundle(); args.putString("url", url); f.setArguments(args); return f; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); url = getArguments() != null ? getArguments().getString("url") : "http://www.zhagame.com/wp-content/uploads/2016/01/JarvanIV_6.jpg"; } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v=inflater.inflate(R.layout.fragment_picture_slide,container,false); imageView= (PhotoView) v.findViewById(R.id.iv_main_pic); mAttacher = new PhotoViewAttacher(imageView); Glide.with(getActivity()).load(url).crossFade().into(new GlideDrawableImageViewTarget(imageView) { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> animation) { super.onResourceReady(resource, animation); mAttacher.update(); } }); return v; }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.github.chrisbanes.photoview.PhotoView android:id="@+id/iv_main_pic" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>
下面是Activity当中的PagerAdapter,其中newInstance()方法加载的是接口加载出来的图片URL
private class PictureSlidePagerAdapter extends FragmentStatePagerAdapter { public PictureSlidePagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return PictureSlideFragment.newInstance(mValues.get(position).getDomain()+mValues.get(position).getImagePath()); } @Override public int getCount() { return mValues.size(); } }
viewPager.setAdapter(new PictureSlidePagerAdapter(getSupportFragmentManager())); viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { tvIndicator.setText(String.valueOf(position+1)+"/"+mValues.size()); } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } });给我们的ViewPager设置Adapter就可以实现图片的滑动加载,缩放
可以在页面上写一个TextView,通过ViewPager的OnPageChangeListener来标识加载的图片页码。
阅读全文
0 0
- Glide网络图片滑动查看,可缩放(PhotoView example)
- 使用Glide加载网络图片,使用photoView进行缩放
- PhotoView图片的缩放与滑动
- 查看图片列表,选中之后查看大图,可缩放滑动
- viewPager+photoView实现网络图片加载左右滑动+手势缩放功能+滑动到下一页其他页面恢复默认大小
- 使用photoView完成照片查看器(网络图片)
- 使用Photoview实现图片左右滑动及缩放功能
- 使用photoview+viewpager实现图片缩放切换(类似微信朋友圈图片查看)
- PhotoView 图片缩放框架
- PhotoView 图片缩放功能
- extjs4 图片查看可缩放
- 使用Android ViewPager与PhotoView实现图片滑动查看
- Android图片查看器(图片可移动、缩放、旋转)
- PhotoView图片查看器
- photoview-library 图片的缩放
- Android图片缩放框架PhotoView
- PhotoView 图片浏览缩放控件
- PhotoView 图片浏览缩放控件
- java web开发环境及开发工具
- leetcode Longest Substring Without Repeating Characters
- 经典游戏服务器端架构概述 (1)
- 实现下雪效果
- Ioctl返回-1 出错,解决办法
- Glide网络图片滑动查看,可缩放(PhotoView example)
- 小波变换
- POJ 3304 Segments [枚举+叉乘判断线段相交]
- PTA-沙漏打印
- 地图布局相关----CSS实现div的高度填满剩余空间
- python 类的编写与调用
- Android OKHttp源码解析
- TabLayout+Fragment
- ubun_caffw_fast-rcnn编译坎坷路