Android 仿微信圖像拍攝和選擇界面功能(代碼分享)
插件運(yùn)行后的畫面如下:
下面這張圖對(duì)圖像進(jìn)行篩選,根據(jù)照片產(chǎn)生的源頭分(QQ和微信和相機(jī))

點(diǎn)擊某文件夾后,可以查看該文件夾下包含的所有的圖片

圖片選擇界面

選中后就跳到已經(jīng)選擇界面的窗口,并且可以對(duì)該吃圖片上傳進(jìn)行簡(jiǎn)要的描述

首先我想說(shuō)明的是這個(gè)插件默認(rèn)是不進(jìn)行圖片篩選的,打開(kāi)app后會(huì)有幾十個(gè)文件夾,但是個(gè)人認(rèn)為開(kāi)發(fā)中常用的圖片基本都來(lái)自于QQ中拍攝的照片,微信中拍攝的照片,以及相機(jī)直接拍攝的照片,因此我對(duì)這個(gè)插件進(jìn)行過(guò)濾以及文件夾名稱的更改,具體做法,主要是對(duì)AlbumHelper類buildImagesBucketList方法中的do-while循環(huán)進(jìn)行稍微修改
do {
String _id = cur.getString(photoIDIndex);
String name = cur.getString(photoNameIndex);
String path = cur.getString(photoPathIndex);
String title = cur.getString(photoTitleIndex);
String size = cur.getString(photoSizeIndex);
String bucketName = cur.getString(bucketDisplayNameIndex);
String bucketId = cur.getString(bucketIdIndex);
String picasaId = cur.getString(picasaIdIndex);
if (bucketName.equals("Camera") || bucketName.equals("WeiXin")) {
if (path.contains("storage/emulated/0")
&& bucketName.equals("Camera")) {
bucketName = "QQ";
}
if (path.contains("storage/emulated/0")
&& bucketName.equals("WeiXin")) {
bucketName = "微信";
}
if (!path.contains("storage/emulated/0")
&& bucketName.equals("Camera")) {
bucketName = "相機(jī)";
}
ImageBucket bucket = bucketList.get(bucketId);
if (bucket == null) {
bucket = new ImageBucket();
bucketList.put(bucketId, bucket);
bucket.imageList = new ArrayList<ImageItem>();
bucket.bucketName = bucketName;
}
bucket.count++;
ImageItem imageItem = new ImageItem();
imageItem.imageId = _id;
imageItem.imagePath = path;
imageItem.thumbnailPath = thumbnailList.get(_id);
bucket.imageList.add(imageItem);
}
} while (cur.moveToNext());
}
默認(rèn)這個(gè)插件圖片選擇界面的完成按鈕只顯示一半,因此要對(duì)布局界面做一個(gè)簡(jiǎn)單的修改

以上所述是小編給大家介紹的Android 仿微信圖像拍攝和選擇界面功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android開(kāi)發(fā)筆記之:深入理解多線程AsyncTask
本篇文章是對(duì)Android中多線程AsyncTask進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
詳解Android Scroller與computeScroll的調(diào)用機(jī)制關(guān)系
這篇文章主要介紹了詳解Android Scroller與computeScroll的調(diào)用機(jī)制關(guān)系的相關(guān)資料,需要的朋友可以參考下2016-01-01
Android實(shí)現(xiàn)手機(jī)震動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)手機(jī)震動(dòng)效果的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
Android應(yīng)用借助LinearLayout實(shí)現(xiàn)垂直水平居中布局
這篇文章主要介紹了Android應(yīng)用借助LinearLayout實(shí)現(xiàn)垂直水平居中布局的方法,文中列舉了LinearLayout線性布局下居中相關(guān)的幾個(gè)重要參數(shù),需要的朋友可以參考下2016-04-04
Android RecyclerView顯示Item布局不一致解決辦法
這篇文章主要介紹了Android RecyclerView顯示Item布局不一致解決辦法的相關(guān)資料,需要的朋友可以參考下2017-07-07
Flutter Http分塊下載與斷點(diǎn)續(xù)傳的實(shí)現(xiàn)
這篇文章主要介紹了Flutter Http分塊下載與斷點(diǎn)續(xù)傳的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Mac Android Studio 3.0 Terminal 中文亂碼問(wèn)題處理
本文給大家分享的是在更新Android Studio 3.0之后,使用Terminal時(shí),發(fā)現(xiàn) git log 命令查看歷史 log會(huì)亂碼,以及最后的解決方法,推薦給小伙伴們2017-11-11

