原項(xiàng)目Github地址:https://github.com/huanchangfjx/ImagePager
記錄和總結(jié)下用到的一個(gè)開源控件灶体。
最近項(xiàng)目在寫一個(gè)類似于網(wǎng)盤功能的模塊踩窖,因此在預(yù)覽圖片文件的時(shí)候椭迎,需要用到圖片的查看工具怕轿。在網(wǎng)上瀏覽了很多第三方的工具和框架断傲,發(fā)現(xiàn)很多圖片的查看控件都已經(jīng)做的很好了,而且功能也十分強(qiáng)大谴古。但是有一個(gè)缺點(diǎn)就是自定義的地方太少质涛,比如說我們的項(xiàng)目需要在圖片預(yù)覽的界面加上分享和其他的功能。最后找到了這個(gè)控件掰担,集成簡(jiǎn)單汇陆,而且自己改造起來也比較方便。
- Step 1
先從上面的github的項(xiàng)目把項(xiàng)目下載下來带饱,項(xiàng)目的結(jié)構(gòu)是這樣的:
把其中的imagepaperlib文件夾拷貝到你項(xiàng)目的根目錄下毡代,然后在Gradle里面添加一下依賴,這里有個(gè)bug勺疼,得把imagepaperlib這個(gè)工程里的Manifest里面的Lanucher給去掉教寂,不然你的項(xiàng)目會(huì)在桌面生成2個(gè)icon。
Step 2
把APP目錄下的Java代碼和Res資源加入到你的項(xiàng)目执庐,此處很簡(jiǎn)單但是要細(xì)心點(diǎn)酪耕,別落了東西。
完成這步后耕肩,就可以進(jìn)行我們自定義的改造了因妇。Step 3
其實(shí)讀下源碼可以看出,這個(gè)項(xiàng)目的思路還是很簡(jiǎn)單的猿诸,利用數(shù)據(jù)量動(dòng)態(tài)生成Viewpager的頁數(shù)婚被,同時(shí)可以指定自定義的指示器,用法很簡(jiǎn)單:
Intent it = new Intent(NetDiskActivity.this, ImagePagerActivity.class);
it.putStringArrayListExtra(ImagePagerActivity.EXTRA_IMAGE_URLS, imageUrls);
it.putExtra(ImagePagerActivity.EXTRA_IMAGE_INDEX, position);
it.putExtra(ImagePagerActivity.EXTRA_ALLRESOURCES, (Serializable) newsImages);
startActivity(it);
把你需要的數(shù)據(jù)傳遞過去就行了梳虽,有需要的同學(xué)可以自行下載下來琢磨下址芯。