100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 仿微信朋友圈图片预览自定义View

仿微信朋友圈图片预览自定义View

时间:2019-06-18 20:09:36

相关推荐

仿微信朋友圈图片预览自定义View

1、先来看看效果

2、使用方法

在xml中添加如下代码:

<?xml version="1.0"encoding="utf-8"?><FrameLayoutxmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.imagepreviewdemo.MainActivity"><!--作为背景--> <FrameLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/black"android:id="@+id/bg"></FrameLayout><com.imagepreviewdemo.view.ImagesPreViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/preView"></com.imagepreviewdemo.view.ImagesPreView></FrameLayout>

在activity的onCreate()中初始化

finalImagesPreView preView=(ImagesPreView)findViewById(R.id.preView);finalFrameLayout backGround=(FrameLayout)findViewById(R.id.bg);//添加图片资源List<Integer>resources=newArrayList<Integer>();resources.add(R.drawable.timg_1);resources.add(R.drawable.timg_2);resources.add(R.drawable.timg_3);//初始化preView.setResources(resources,getSupportFragmentManager());//设置当前显示的图片preView.setCurrentItem(0);//设置背景View,会随着图片向下滑动渐隐preView.setBackGroundView(backGround);//设置图片向下滑动事件监听preView.setOnScrollListener(newScaleImagView.OnScrollListener() {@Overridepublic voidonScroll(floatscroll) {//scroll值为向下滑动的距离和屏幕总高度百分比,值0~100之间if(scroll>50){//当图片向下滑动的距离超过50%的屏幕总高度时,设置打开松开手指时的事件监听preView.setTouchUpEnable(true);}}});//松开手指时的事件监听,如果没有设置preView.setTouchUpEnable(true),以下方法将不会被执行preView.setOnTouchUpListener(newScaleImagView.OnTouchUpListener() {@Overridepublic voidonTouchUp() {}});//设置图片滑动监听preView.setOnImageChangeListener(newImagesPreView.OnImageChangeListener() {@Overridepublic voidOnImageChange(intposition) {}});

除了传drawable资源以外还可以传url资源

List<String>urlStrings=newArrayList<>();urlStrings.add("http://192.168.1.39:90/Photos/a.png");urlStrings.add("http://192.168.1.39:90/Photos/b.png");preView.setFilesOrUrl(urlStrings,getSupportFragmentManager());

本地file资源

List<String>filePaths=newArrayList<>();filePaths.add("/storage/sdcard0/a.png");filePaths.add("/storage/sdcard0/b.png");preView.setFilesOrUrl(filePaths,getSupportFragmentManager());

3、用到的开源框架

Glide

4、源码地址

欢迎勘误

点击打开链接

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。