ImagePicker的簡單應(yīng)用

地址:https://github.com/jeasonlzy/ImagePicker
支持圖片剪裁宾舅;
不支持加載gif。

導(dǎo)包

compile 'me.iwf.photopicker:PhotoPicker:0.9.5@aar'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.github.bumptech.glide:glide:3.7.0'

基本用法代碼:
1肺孵、首先你需要繼承 com.lzy.imagepicker.loader.ImageLoader 這個接口,實現(xiàn)其中的方法待诅,比如以下代碼是使用 Glide三方加載庫實現(xiàn)的

public class GlideImageLoader implements ImageLoader {
    @Override
    public void displayImage(Activity activity, String path, ImageView imageView, int width, int height) {
        Glide.with(activity)                             //配置上下文
                .load(Uri.fromFile(new File(path)))      //設(shè)置圖片路徑(fix #8,文件名包含%符號 無法識別和顯示)
                .error(R.mipmap.default_image)           //設(shè)置錯誤圖片
                .placeholder(R.mipmap.default_image)     //設(shè)置占位圖片
                .diskCacheStrategy(DiskCacheStrategy.ALL)//緩存全尺寸
                .into(imageView);
    }

    @Override
    public void clearMemoryCache() {

    }
}

2、在你的AndroidManifest.xml文件里面添加下面的

<activity
            android:name="com.lzy.imagepicker.ui.ImagePreviewDelActivity"
            android:theme="@style/ImagePickerThemeFullScreen"/>

3检碗、然后配置圖片選擇器据块,一般在Application初始化配置一次就可以,這里就需要將上面的圖片加載器設(shè)置進(jìn)來,其余的配置根據(jù)需要設(shè)置

        ImagePicker imagePicker = ImagePicker.getInstance();
        imagePicker.setImageLoader(new GlideImageLoader());   //設(shè)置圖片加載器
        imagePicker.setShowCamera(true);  //顯示拍照按鈕
        imagePicker.setMultiMode(true);    //設(shè)置單選多選模式
        imagePicker.setCrop(true);        //允許裁剪(單選才有效)
        imagePicker.setSaveRectangle(true); //是否按矩形區(qū)域保存
        imagePicker.setSelectLimit(9);    //選中數(shù)量限制
        imagePicker.setStyle(CropImageView.Style.RECTANGLE);  //裁剪框的形狀
        imagePicker.setFocusWidth(800);   //裁剪框的寬度。單位像素(圓形自動取寬高最小值)
        imagePicker.setFocusHeight(800);  //裁剪框的高度折剃。單位像素(圓形自動取寬高最小值)
        imagePicker.setOutPutX(1000);//保存文件的寬度另假。單位像素
        imagePicker.setOutPutY(1000);//保存文件的高度。單位像素

4怕犁、以上配置完成后边篮,在適當(dāng)?shù)姆椒ㄖ虚_啟相冊,例如點擊按鈕時

                Intent intent = new Intent(MainActivity.this, ImageGridActivity.class);
                intent.putExtra(ImageGridActivity.EXTRAS_IMAGES,images);  //記錄選擇圖片的數(shù)量
                startActivityForResult(intent, IMAGE_PICKER);

5奏甫、如果你想直接調(diào)用相機

                Intent intent = new Intent(this, ImageGridActivity.class);
                intent.putExtra(ImageGridActivity.EXTRAS_TAKE_PICKERS,true); // 是否是直接打開相機
                startActivityForResult(intent, IMAGE_PICKER);

6戈轿、重寫onActivityResult方法,回調(diào)結(jié)果

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_CODE_ITEMS) {
            if (data != null && requestCode == IMAGE_PICKER) {
                selImageList = (ArrayList<ImageItem>) data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS);
                if(selImageList!=null){
                    images.clear();
                    images.addAll(selImageList);
                }
            } else {
                Toast.makeText(this, "沒有數(shù)據(jù)", Toast.LENGTH_SHORT).show();
            }
        }
        else if (resultCode == ImagePicker.RESULT_CODE_BACK) {
            //預(yù)覽圖片返回
            if (data != null && requestCode == REQUEST_CODE_PREVIEW) {
                selImageList = (ArrayList<ImageItem>) data.getSerializableExtra(ImagePicker.EXTRA_IMAGE_ITEMS);
                if (selImageList != null) {
                    images.clear();
                    images.addAll(selImageList);
                }
            }
        }
        mPicAdapter.notifyDataSetChanged();
    }

7、打開圖片預(yù)覽

                Intent intentPreview = new Intent(mContext, ImagePreviewDelActivity.class);
                intentPreview.putExtra(ImagePicker.EXTRA_IMAGE_ITEMS, photos);
                intentPreview.putExtra(ImagePicker.EXTRA_SELECTED_IMAGE_POSITION, position);
                intentPreview.putExtra(ImagePicker.EXTRA_FROM_ITEMS, true);
                startActivityForResult(intentPreview, REQUEST_CODE_PREVIEW);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阵子,一起剝皮案震驚了整個濱河市思杯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挠进,老刑警劉巖色乾,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奈梳,居然都是意外死亡杈湾,警方通過查閱死者的電腦和手機解虱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門攘须,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人殴泰,你說我怎么就攤上這事于宙。” “怎么了悍汛?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵捞魁,是天一觀的道長。 經(jīng)常有香客問我离咐,道長谱俭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任宵蛀,我火速辦了婚禮昆著,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘术陶。我一直安慰自己凑懂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布梧宫。 她就那樣靜靜地躺著接谨,像睡著了一般摆碉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脓豪,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天巷帝,我揣著相機與錄音,去河邊找鬼扫夜。 笑死锅睛,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的历谍。 我是一名探鬼主播现拒,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼望侈!你這毒婦竟也來了印蔬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤脱衙,失蹤者是張志新(化名)和其女友劉穎侥猬,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捐韩,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡退唠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荤胁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞧预。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖仅政,靈堂內(nèi)的尸體忽然破棺而出垢油,到底是詐尸還是另有隱情,我是刑警寧澤圆丹,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布滩愁,位于F島的核電站,受9級特大地震影響辫封,放射性物質(zhì)發(fā)生泄漏硝枉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一倦微、第九天 我趴在偏房一處隱蔽的房頂上張望妻味。 院中可真熱鬧,春花似錦璃诀、人聲如沸弧可。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棕诵。三九已至裁良,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間校套,已是汗流浹背价脾。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留笛匙,地道東北人侨把。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像妹孙,于是被迫代替她去往敵國和親秋柄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Glide筆記 一蠢正、簡介 在泰國舉行的谷歌開發(fā)者論壇上骇笔,谷歌為我們介紹了一個名叫Glide的圖片加載庫,作者是bu...
    AndroidMaster閱讀 3,915評論 0 27
  • 7.1 壓縮圖片 一嚣崭、基礎(chǔ)知識 1笨触、圖片的格式 jpg:最常見的圖片格式。色彩還原度比較好雹舀,可以支持適當(dāng)壓縮后保持...
    AndroidMaster閱讀 2,523評論 0 13
  • 一芦劣、簡介 在泰國舉行的谷歌開發(fā)者論壇上,谷歌為我們介紹了一個名叫Glide的圖片加載庫说榆,作者是bumptech虚吟。這...
    天天大保建閱讀 7,491評論 2 28
  • 【Android 庫 圖片庫比較】 四大圖片庫比較 四大圖片緩存基本信息 Universal ImageLoade...
    Rtia閱讀 3,588評論 0 7
  • 作者簡介 原創(chuàng)微信公眾號郭霖 WeChat ID: guolin_blog 現(xiàn)在Android上的圖片加載框架非常...
    Devifish閱讀 869評論 0 3