日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android知乎多图片选择,知乎开源Matisse图片选择器使用

發(fā)布時間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android知乎多图片选择,知乎开源Matisse图片选择器使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Matisse Github地址

效果預覽

添加依賴

compile 'com.zhihu.android:matisse:0.4.3'

前提必須有以下依賴:

implementation 'com.android.support:appcompat-v7:26.1.0'

implementation 'com.android.support:recyclerview-v7:26.1.0'

implementation 'com.github.bumptech.glide:glide:3.7.0'

其中第一個依賴大家的項目中肯定有的

第二個依賴做項目應該也會用到,引入recyclerview

第三個依賴是圖片加載的依賴,Matisse支持Glide或Picasso作為你的圖片加載引擎,這里用的是Glide

增加權限

布局文件

java文件

public class MainActivity extends AppCompatActivity {

private static final int REQUEST_CODE_CHOOSE = 23;

Button button;

TextView textView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

button = findViewById(R.id.button);

textView = findViewById(R.id.textview);

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Matisse.from(MainActivity.this)

.choose(MimeType.allOf())//圖片類型

.countable(true)//true:選中后顯示數(shù)字;false:選中后顯示對號

.maxSelectable(5)//可選的最大數(shù)

.capture(true)//選擇照片時,是否顯示拍照

.captureStrategy(new CaptureStrategy(true, "com.example.xx.fileprovider"))//參數(shù)1 true表示拍照存儲在共有目錄,false表示存儲在私有目錄;參數(shù)2與 AndroidManifest中authorities值相同,用于適配7.0系統(tǒng) 必須設置

.imageEngine(new GlideEngine())//圖片加載引擎

.forResult(REQUEST_CODE_CHOOSE);//

}

});

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {

Listresult = Matisse.obtainResult(data);

textView.setText(result.toString());

}

}

}

如果不進行拍照的話,到現(xiàn)在位置就可以實現(xiàn)文章開始展示的效果

想要使用拍照功能的話,必須要有一個Fileprovider

在AndroidManifest.xml中application節(jié)點,和activity同級,增加

其中com.example.xx.改為你的包名

在res中新建xml文件夾,增加file_paths_public

其中的file_paths_public的代碼為

做完以上步驟就可以正常使用拍照功能了

常見問題

在使用 Matisse 與 glide 4.0.0 以及 4.0.0 之后的版本過程中,會報錯

由于Glide4.0之后Api的調用方式有了一些更改,所以之前的一些Api調用方式則會出錯。 關于Glide 4.0之后Api調用方式的改動可以參考官方文檔

自定義類MyGlideEngine,仿照類 GlideEngine,重新實現(xiàn) ImageEngine

如下

import com.bumptech.glide.annotation.GlideModule;

import com.bumptech.glide.module.AppGlideModule;

import android.content.Context;

import android.graphics.drawable.Drawable;

import android.net.Uri;

import android.widget.ImageView;

import com.bumptech.glide.Glide;

import com.bumptech.glide.Priority;

import com.zhihu.matisse.engine.ImageEngine;

/**

* {@link ImageEngine} implementation using Glide.

*/

public class MyGlideEngine implements ImageEngine {

@Override

public void loadThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri) {

GlideApp.with(context)

.asBitmap() // some .jpeg files are actually gif

.load(uri)

.override(resize, resize)

.centerCrop()

.into(imageView);

}

@Override

public void loadAnimatedGifThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView,

Uri uri) {

GlideApp.with(context)

.asBitmap()

.load(uri)

.placeholder(placeholder)

.override(resize, resize)

.centerCrop()

.into(imageView);

}

@Override

public void loadImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {

GlideApp.with(context)

.load(uri)

.override(resizeX, resizeY)

.priority(Priority.HIGH)

.into(imageView);

}

@Override

public void loadAnimatedGifImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {

GlideApp.with(context)

.load(uri)

.override(resizeX, resizeY)

.priority(Priority.HIGH)

.into(imageView);

}

@Override

public boolean supportAnimatedGif() {

return true;

}

}

使用時改為

.imageEngine(new MyGlideEngine())//圖片加載引擎

關于其中GlideApp的使用

https://blog.csdn.net/u010356768/article/details/83783623

關于Matisse其他文章鏈接

http://blog.csdn.net/qiaoshi96_bk/article/details/76164913

https://www.jianshu.com/p/03567893ac79

總結

以上是生活随笔為你收集整理的android知乎多图片选择,知乎开源Matisse图片选择器使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天堂精品一区 | 日本不卡视频在线 | 亚洲天堂男人 | 玩偶姐姐在线观看免费 | 欧美色鬼 | 激情成人综合 | 黄色大片免费看 | 国产精品福利小视频 | 免费毛片基地 | 91精品国产综合久久久蜜臀 | 人人干人人看 | 亚洲精品.www | av在线资源站 | 四色成人| 成年人免费在线观看网站 | 成人xxxxx | 亚洲精品黄色片 | 免费在线黄色网 | 自拍偷拍激情小说 | 亚洲伦理视频 | 午夜黄色在线观看 | 欧美少妇一级片 | 亚洲精品乱码久久久久久蜜桃麻豆 | 黑料视频在线 | 蜜乳av 懂色av 粉嫩av | 91精品国产高潮对白 | 99视频久久| av网站黄色 | 国产suv精品一区二区69 | 国产尤物在线观看 | 久久久久精 | 嫩草研究院在线 | 天美麻花果冻视频大全英文版 | 91九色国产ts另类人妖 | 美女超碰在线 | 午夜精品视频一区二区三区在线看 | 老司机福利精品 | 波多野结衣久久 | 亚洲精品99久久久久中文字幕 | 性按摩玩人妻hd中文字幕 | 精品国自产拍在线观看 | 久久国产露脸精品国产 | 国产chinese男男网站大全 | 视频在线看 | 妹子干综合| 日本在线高清 | 羞羞色视频 | 黑丝av在线 | 黄色免费网页 | 手机看片日韩日韩 | 99国产精品视频免费观看一公开 | www..com色| 国产精品成久久久久三级 | 理论黄色片 | 亚欧美一区二区三区 | 永久免费不卡在线观看黄网站 | 日本理论片午伦夜理片在线观看 | 亚洲欧美一区二区三区不卡 | 国产国语亲子伦亲子 | 69xxx少妇按摩视频 | 青娱乐免费在线视频 | 欧美手机在线视频 | 欧美大黄 | 91精品啪在线观看国产 | 亚洲一区 中文字幕 | 一区二区三区四区免费视频 | 91成人黄色 | 成人小视频免费观看 | 色99999| 日日夜夜综合网 | 欧美国产成人精品一区二区三区 | 九热在线 | 91亚洲国产成人久久精品网站 | 亚洲精品一二三区 | 亚洲免费精品视频在线观看 | 亚洲欧洲日本一区二区三区 | 91porn破解版 | 日韩二区在线观看 | 少妇精品无码一区二区免费视频 | 青草视频网 | 色呦呦网站入口 | 丁香视频在线观看 | 在线免费观看视频 | 久久久久人妻精品色欧美 | 久久午夜鲁丝片 | 中文久草 | 日韩欧美一区二区区 | 午夜剧场成人 | 国产成人午夜精华液 | 香蕉国产精品 | 成人欧美一区二区三区黑人冫 | 国产欧美一区二区精品久久久 | 天堂资源| 在线不卡免费视频 | 男人的天堂在线播放 | av5566 | 欧美激情国产精品免费 | 精品九九九九 | 日韩激情视频 |