android朋友圈动态视频教程,Android--选择图片(仿微信发朋友圈)第一篇

这篇博客主要写仿微信朋友圈选择图片发朋友圈。整个功能包括加载图片,显示图片、相册文件夹、预览图片,九宫格显示已经选择好的图片等等,大概会有三篇博客。

效果图

858f467e6f2d0a91f5073d6bb1c1dbb8.png

d6c39e4fbd19349109b336b616984e34.png

看上面的图,加载图片肯定是异步加载,耗时任务。android系统默认提供了一个Loader(Android Loader机制全面详解及源码浅析https://blog.csdn.net/axi295309066/article/details/52536960)请大家搓这篇文章,看了你会对Loader机制会有个全面的认识。在结合我这篇文章,如何去加载相册里的图片? 显示图片是RecyclerView,第一个位置显示的是一个拍照默认的图片,利用RecyclerView支持多种不同类型的布局,把第一个位置单独提取出来,去设置一个只有一张拍照图片的布局。

private LoaderManager.LoaderCallbacks mLoaderCallbacks = new LoaderManager.LoaderCallbacks() {

private final String[] IMAGE_PROJECTION = {

MediaStore.Images.Media.DATA,

MediaStore.Images.Media.DISPLAY_NAME,

MediaStore.Images.Media.DATE_ADDED,

MediaStore.Images.Media._ID,

MediaStore.Images.Media.MINI_THUMB_MAGIC,

MediaStore.Images.Media.BUCKET_DISPLAY_NAME};

//创建一个CursorLoader,去异步加载相册的图片

@NonNull

@Override

public Loader onCreateLoader(int id, @Nullable Bundle args) {

return new CursorLoader(SelectImageActivity.this,

MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_PROJECTION,

null, null, IMAGE_PROJECTION[2] + " DESC");

}

@Override

public void onLoadFinished(@NonNull Loader loader, Cursor data) {

if (data != null) {

ArrayList images = new ArrayList<>();

//是否显示照相图片

if (mHasCamera) {

//添加到第一个的位置(默认)

images.add(new Image());

}

ImageFolder defaultFolder = new ImageFolder();

defaultFolder.setName("全部照片");

defaultFolder.setPath("");

mImageFolders.add(defaultFolder);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值