android自定义控件之文件选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android自定义控件之文件选择相关的知识,希望对你有一定的参考价值。

参考技术A 不多说,先上图:

列举当前目录下的所有文件,如果是选择目录,则不显示文件,如果是选择文件,则需要显示文件。

新建目录,就是在当前路径下新建目录,同时新建后的目录要能够及时显示在文件列表中。

需要读写权限,添加第三方权限请求库:

使用:

DialogFragment与Dialog有一些不同的地方,其中show方法需要传入FragmentManager

另外需在onCreateVie方法初始化布局,以及获取到控件

另外就是RecycleView,之所以采用RecycleView,是因为发现如果用ListView,内存会不断增加,很难降下来。

其中CommonAdapter继承自BaseAdapter,是通用的Adapter,兼容ListView:

这一部分逻辑有FileProvider类完成; 这里需要注意的是,有些手机不支持读取根目录,所以改为读取"/mnt/"作为根目录就行读取。

另外跳转目录都是改变当前路径,然后再刷新数据。

同时在其内部定义了FileData类:

文件选择,可以通过当前路径路径以及列表索引来唯一确定路径;都是,当跳转目录后,索引应该重置。

这里采用WeakReference记录选择的控件,但选择其他目录或者文件时,之前的控件需要重置一下状态。

https://github.com/xiaoyifan6/videocreator

该源码主要用于图片合成gif或者视频,其中文件选择弹窗是自己写的。感觉这个弹出应该有许多地方可以用到,所以写下这篇文章,方便以后参考查看。

以上是关于android自定义控件之文件选择的主要内容,如果未能解决你的问题,请参考以下文章

Android自助餐之自定义控件从layout自定义控件

Android自定义控件之基本原理

如何打造Android自定义的下拉列表框控件

android--------自定义控件 之 ViewGroup

Android进阶之绘制-自定义View完全掌握

android开发系列之使用xml自定义控件