1. 程式人生 > >android高仿微信圖片瀏覽器

android高仿微信圖片瀏覽器

專案中用到圖片瀏覽 拆分出來 以後方便使用
高仿微信圖片瀏覽器
module使用 rxjava + okhttp3 + fresco
所以專案中引用以後 會增大安裝包體積2m左右
如果你的專案中沒有使用rxjava 和 okhttp3 和fresco的圖片載入器的話 請慎用,介意安裝包大小慎用,適用 rxjava + okhttp + retrofit 構建的專案

  • 手勢放大縮小
  • 點選關閉
  • 支援載入網路圖片和本地圖片
  • 優化記憶體
  • 自動快取
  • 可以儲存到本地
  • 複製圖片連結

原始碼下載
github
支援載入本地圖片和網路圖片 手勢放大縮小檢視, 儲存本地 複製連結 優化快取,
看效果,
這裡寫圖片描述

使用方法:
在你的專案中新增如下依賴

    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:support-v13:23.3.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.facebook.fresco:fresco:0.10.0'
    compile 'com.facebook.fresco:imagepipeline-okhttp3:0.10.0'
    compile 'com.facebook.fresco:animated-gif:0.10
.0' compile 'io.reactivex:rxjava:1.1.0' compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.okhttp3:okhttp:3.3.1' compile 'com.github.castorflex.smoothprogressbar:library:1.1.0' compile 'com.wushange:image-preview:1.0'

記得修改主題為

Theme.AppCompat.Light.NoActionBar

然後再manifest 中新增activity

 <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <activity android:name="com.dmcc.image_preview.ImagePreviewActivity"/>

然後記得初始化 fresco, 在application中

 private static final int MAX_HEAP_SIZE = (int) Runtime.getRuntime().maxMemory();

    public static final int MAX_DISK_CACHE_SIZE = 50 * ByteConstants.MB;
    public static final int MAX_MEMORY_CACHE_SIZE = MAX_HEAP_SIZE / 8;

    private void initFrescoConfig() {
        final MemoryCacheParams bitmapCacheParams =
                new MemoryCacheParams(MAX_MEMORY_CACHE_SIZE, // Max total size of elements in the cache
                        Integer.MAX_VALUE,                     // Max entries in the cache
                        MAX_MEMORY_CACHE_SIZE, // Max total size of elements in eviction queue
                        Integer.MAX_VALUE,                     // Max length of eviction queue
                        Integer.MAX_VALUE);
        ImagePipelineConfig config = OkHttpImagePipelineConfigFactory.newBuilder(this, ImagePreviewActivity.getOkHttpClient())
                .setProgressiveJpegConfig(new SimpleProgressiveJpegConfig())
                .setBitmapMemoryCacheParamsSupplier(new Supplier<MemoryCacheParams>() {
                    public MemoryCacheParams get() {
                        return bitmapCacheParams;
                    }
                })
                .setMainDiskCacheConfig(
                        DiskCacheConfig.newBuilder(this).setMaxCacheSize(MAX_DISK_CACHE_SIZE).build())
                .setDownsampleEnabled(true)
                .build();
        Fresco.initialize(this, config);
    }

然後在需要使用的地方 填充圖片地址集合 和index

 ImagePreviewActivity.startActivity(MainActivity.this, extraPics.get(0), extraPics);

原始碼下載
github
自身專案有的就不用添加了

這就是我自己為了方便寫的小玩意, 介意安裝包大小慎用,適用 rxjava + okhttp + retrofit 構建的專案
歡迎大家加入我的分享交流群
希望和大家一起成長進步。
QQ群:74406192

相關推薦

android仿圖片瀏覽器

專案中用到圖片瀏覽 拆分出來 以後方便使用 高仿微信圖片瀏覽器 module使用 rxjava + okhttp3 + fresco 所以專案中引用以後 會增大安裝包體積2m左右 如果你的專案中沒有使用rxjava 和 okhttp3 和fresco

Android 仿發朋友圈瀏覽圖片效果

最近一直在高仿微信、高仿微信,今天小編再給大家分享一個仿微信發朋友圈瀏覽圖片的效果.... 好了,先看一下效果吧: 下面就來說一下具體怎麼實現的: 實現思路 1.首先我們要獲取資料來源,資料來源就是我們的每條說說(包括姓名、標題、圖片陣列)

Android 超高仿圖片選擇器 圖片該這麽載入

主界面 asto 布局 sage comm equal ear 博文 細致 轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/39943731,本文出自:【張鴻洋的博客】1、概述關於手機圖片載入器,在當今

Android 超高仿圖片選擇器 圖片該這麼載入

                轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/39943731,本文出自:【張鴻洋的部落格】1、概述關於手機圖片載入器,在當今畫素隨隨便便破千萬的時代,一張圖片佔據的記憶體都相當可觀,作為高大尚程式猿的我們,

android仿表情輸入與鍵盤輸入詳解-解決跳閃與表情切換問題

private void unlockContentHeightDelayed() { mEditText.postDelayed(new Runnable() { @Override public void run() { ((LinearLa

Android 超高仿圖片選擇器 圖片該這麼載入

轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/39943731,本文出自:【張鴻洋的部落格】1、概述關於手機圖片載入器,在當今畫素隨隨便便破千萬的時代,一張圖片佔據的記憶體都相當可觀,作為高大尚程式猿的我們

Android仿/支付寶 掃一掃(弱光檢測掃一掃自動放大功能)

if (rawResult != null) { // Don't log the barcode contents for security. long end = System.currentTimeMillis(); Log.d(T

Android 仿頭像擷取 打造不一樣的自定義控制元件

轉載請表明出處:http://blog.csdn.net/lmj623565791/article/details/39761281,本文出自:【張鴻洋的部落格】1、概述前面已經寫了關於檢測手勢識別的文章,如果不瞭解可以參考:Android 手勢檢測實戰 打造支援縮放平移的圖

android仿佈局(二)

前言 這期我們講講怎麼實現微信的左右滑動的效果和底部的tabs欄 廢話不多說,開工吧! 首先我們先看看總體佈局是怎麼寫的。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout

Android 超高仿圖片多選、單選,圖片剪下,圖片預覽,拍照等功能

實現了微信圖片選擇的所有功能 單選、多選 單選,沒有預覽功能。 多選,可以控制最大 選擇圖片數量 拍照 解決了三星拍照橫屏的bug 關閉拍照後,第一個item將不顯示拍照選項 預覽 開啟預覽功能後,點選圖片或右下角預覽進入預覽介面。 關

Android-通過SlidingMenu仿6.2最新版手勢滑動返回(二)

word 代碼下載 extend ride 方法 最新版 roi library fin 轉載請標明出處: http://blog.csdn.net/hanhailong726188/article/details/46453627 本

android之使用GridView+仿圖片上傳功能(附源代碼)

相冊 ada nbu [] for round pen fromfile idt   由於工作要求最近在使用GridView完成圖片的批量上傳功能,我的例子當中包含仿微信圖片上傳、拍照、本地選擇、相片裁剪等功能,如果有需要的朋友可以看一下,希望我的實際經驗能對您有所幫助。

Android 修改源碼自定義SwipeRefreshLayout樣式——仿朋友圈下拉刷新

樣式 post and 微信 修改 size roi 自定義 details 修改源碼自定義SwipeRefreshLayout樣式——高仿微信朋友圈下拉刷新Android 修改源碼自定義SwipeRefreshLayout樣式——高仿微信朋友圈下拉

Android開發技巧——定製仿圖片裁剪控制元件

拍照——裁剪,或者是選擇圖片——裁剪,是我們設定頭像或上傳圖片時經常需要的一組操作。上篇講了Camera的使用,這篇講一下我對圖片裁剪的實現。 背景 下面的需求都來自產品。 裁剪圖片要像微信那樣,拖動和放大的是圖片,裁剪框不動。 裁剪框外的內容要有半透

Android使用Retrofit技術仿圖片上傳,可以選擇多張圖片拍照上傳

Android 仿照微信發說說,既能實現拍照,選相簿,多圖案上傳 使用Retrofit技術。 使用方法:詳見部落格 專案的執行效果: 伺服器端接收檔案的action UploadFile.java @Controller p

Android仿圖片編輯庫,你想要的功能這裡都有

最近專案需要,寫了一個和微信中圖片編輯功能類似的圖片編輯庫,除去問題操作上擯棄掉不方便的手勢操作外,其餘微信中的核心功能全部一致,保留了微信中塗鴉、馬賽克、文字等隨時隨著圖片縮放的功能,這點是我所找的庫都不提供的功能,也是我從零去完成這個圖片編輯庫的原因。

Android 多張圖片展示,仿圖片上傳,可以選擇多張圖片

我們經常會遇到需要多張圖片展示上傳的需求 ,如圖 這樣的需求我已經遇到過多次,個人總結一下,希望大家多多指點,支援選擇多張圖片 佈局:一個GridView <com.zuihou.drunkenmonkey.widget.view.Di

Android仿選擇圖片和拍照

1.Android6.0系統,對於許可權的使用都是需要申請,選擇圖片和拍照需要申請Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE這兩個許可權。 if (Contex

android圖片選擇控制元件(仿圖片多選[附原始碼])

一、背景:     最近公司有一個專案需要支援手機本地圖片的多選,就像微信那樣的。    OK,不能呼叫系統的圖片選擇控制元件,那就自己寫個吧,基本思路就是使用ContentProvider掃描手機中的圖片,然後以Gridview的方式展示圖片,同時為了保證能圖片能快速載

Android UI 之自定義RadarView——仿雷達掃描

最近看了一個視訊講了一種微信雷達掃描的實現方案,借鑑了一下,自己也寫一個玩玩,與大家分享一下。基本想出來三種解決方案,根據不同需求情況選擇即可。 方案一實現思路(通用): 1.自定義view  2.重寫onDraw()方法 3.畫四個無鋸齒空心圓 4.畫以最大圓為半徑的實心漸變圓 5.建立矩陣,旋轉畫布,