注册

图片选择器:Matisse

Matisse 是一个为Android精心设计的本地图像和视频选择器。你可以



  • 在活动或片段中使用它


  • 选择包含JPEG、PNG、GIF的图像和包含MPEG、MP4的视频


  • 应用不同的主题,包括两个内置主题和自定义主题


  • 不同的图像加载器


  • 定义自定义筛选规则



Zhihu StyleDracula StylePreview




下载使用

Gradle:


repositories {
jcenter()
}

dependencies {
implementation 'com.zhihu.android:matisse:$latest_version'
}

混淆

如果用的是 Glide
添加规则:

-dontwarn com.squareup.picasso.**

如果用的是 Picasso 添加规则:


-dontwarn com.bumptech.glide.**

怎样使用他呢?

权限


  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

所以,如果您的目标是android6.0+,那么您需要在下一步之前处理运行时权限请求。


Simple usage snippet



启动 MatisseActivity 从 活动的 Activity or Fragment:


Matisse.from(MainActivity.this)
.choose(MimeType.allOf())
.countable(true)
.maxSelectable(9)
.addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
.gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
.thumbnailScale(0.85f)
.imageEngine(new GlideEngine())
.showPreview(false) // Default is `true`
.forResult(REQUEST_CODE_CHOOSE);

主题

有两个内置的主题可以用来开始 MatisseActivity:



  • R.style.Matisse_Zhihu (白天模式)
  • R.style.Matisse_Dracula (夜间模式)

你也可以随心所欲地定义自己的主题。


接收结果

onActivityResult() 回调 Activity or Fragment:


List<Uri> mSelected;

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {
mSelected = Matisse.obtainResult(data);
Log.d("Matisse", "mSelected: " + mSelected);
}
}

github地址:https://github.com/zhihu/matisse
下载地址:matisse-master.zip


0 个评论

要回复文章请先登录注册