Matisse
A well-designed local image and video selector for Android
...There are two built-in themes you can use to start MatisseActivity, which are R.style.Matisse_Zhihu (light mode), and R.style.Matisse_Dracula (dark mode). All images and videos will be shown in Matisse by default, you can't limit the selectable mime types. You can launch Matisse from Activity or Fragment. Meanwhile you should receive results in the corresponding onActivityResult() callback. If you want a fixed span count, you can do it. The span count will stay the same when orientation changes. If you expect a grid size which will be flexible fitting different screens, you can also pull that off. ...