知乎Matisse的使用

简介

Matisse 是一款开源的图片选择,拍照库;可以使你的图片选择,拍照更加的优雅,调用方便等优点

依赖

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

使用步骤

1.查看项目的图片加载库,Matisse需要Picasso 或者 Glide的支持

2.调用

唤起选择页面

 Matisse.from(ThirdFragment.this)
        .choose(MimeType.of(MimeType.JPEG,MimeType.PNG))//选择mime的类型
        .countable(true)//设置从1开始的数字
        .maxSelectable(1)//选择图片的最大数量限制
        .capture(true)//启用相机
        .captureStrategy(new CaptureStrategy(true,"com.gaosi.provider.MyFileProvider"))//自定义FileProvider
        .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)//屏幕显示方向
        .gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.select_pic)) // 列表中显示的图片大小
        .thumbnailScale(0.85f) // 缩略图的比例
        .imageEngine(new PicassoEngine()) // 使用的图片加载引擎
        .theme(R.style.Matisse_Dracula) // 黑色背景
        .forResult(REQUEST_CODE_CHOOSE); // 设置作为标记的请求码

接收回调

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

关于相机

1.自定义一个空的MyFileProvider

public class MyFileProvider extends FileProvider {
}

2.manifest注册

 
        
  

3.res/xml创建filepath





















关于其他的API

主题

在Matisse中有两种主题:

  • Zhihu(亮蓝色主题)
  • Dracula(黑色主题)

自定义主题:

从两个内置主题,甚至是他们的父母派生自定义主题,你可以自定义 Matisse 的外观
这些属性(在 attrs.xml 中定义)可以修改:

Memi类型

Matisse支持的MemiType:

你可能感兴趣的:(读书笔记,开源,图片,库)