Matisse使用--截至0.5.3-beta3

1. 引言

Matisse是知乎的一个照片选取框架组件,可以提供较为丰富简单的图片选择体验。以下为官方图标:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JXC1kksJ-1620349617122)(https://github.com/zhihu/Matisse/blob/master/image/banner.png#pic_center)]
同类型库如下图所示,原理我看了PictureSelector的,基本相同,但是抽象的方法区别较大,感觉是面向群体不同导致matisse比较官方,且都是英文(可惜官方文档不怎么好使)
在这里插入图片描述

2.问题:我遇到的是如下问题

2.1 log输出

Invalid column COUNT(*) AS count

Invalid column COUNT(*) AS count

2.2 问题解决

最后发现是由于版本不对,应该使用0.5.3-beta,这里已经解决此问题。(适配Android10)详见链接https://github.com/zhihu/Matisse/issues/659.

3.优化UI(部分自定义)

此部分我在网络上并未搜索到相关说法,于是自己研究了一下Theme相关的原理,做法如下:

3.1 覆盖Matisse.Zhihu主题风格

原理:Theme是可以继承和覆盖的。

  • 继承网上有很多,基本包含隐式继承和显示继承。
  • 覆盖即直接将已有主题(一般在Library中实现过)覆盖,命名同名的主题,如下:路径是values/styles.xml
    在这里插入图片描述
    在这里插入图片描述

3.2 单类型显示

showSingleMediaType

//                Matisse.from(MainActivity.this)
//                        .choose(MimeType.ofVideo(),true)
//                        .theme(R.style.Matisse_Dracula)
//                        .countable(false)
//                        .addFilter(new GifSizeFilter(320, 320))
//                        .originalEnable(false)
//                        .showSingleMediaType(true)
//                        .imageEngine(new PicassoEngine())
//                        .forResult(REQUEST_CODE_CHOOSE);

4.项目地址(module-matisse模块)

git命令:
git clone https://github.com/baizhu0414/IpcProject.git
地址:
https://github.com/baizhu0414/IpcProject


版权声明:本文为weixin_37627774原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。