RxGalleryFinal是一个android图片/视频文件选择器。其支持多选、单选、拍摄和裁剪,主题可自定义,无强制绑定第三方图片加载器。

1.首先加入权限

2.在module gradle中项目依赖代码:

compile 'cn.finalteam.rxgalleryfinal:library:0.0.1'

//支持以下主流图片加载器,开发者自行选择

compile 'com.squareup.picasso:picasso:2.5.2'

compile 'com.facebook.fresco:fresco:0.12.0'

compile 'com.github.bumptech.glide:glide:3.7.0'

compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

3.在fest加入所需的activity

...

android:theme="@style/Theme_Light">

android:name="cn.finalteam.rxgalleryfinal.ui.activity.MediaActivity"

android:screenOrientation="portrait"

android:exported="true"

android:theme="@style/Theme_Light.Default"/>

android:name="com.yalantis.ucrop.UCropActivity"

android:screenOrientation="portrait"

android:theme="@style/Theme_Light.Default"/>

4.java代码

RxGalleryFinal

.with(PhotoActivity.this)

.image()

.radio()

.crop()

.imageLoader(ImageLoaderType.FRESCO)

.subscribe(new RxBusResultSubscriber() {

@Override

protected void onEvent(ImageRadioResultEvent imageRadioResultEvent) throws Exception {

//图片选择结果

simpleDraweeView.setImageURI("file://" + imageRadioResultEvent.getResult().getCropPath());

// simpleDraweeView.setImageURI(imageRadioResultEvent.getResult().getOriginalPath());

imageView.setImageURI(Uri.parse(imageRadioResultEvent.getResult().getOriginalPath()));

}

})

.openGallery();

最后有混淆代码的请看下面

#1.support-v7-appcompat

-keep public class android.support.v7.widget.** { *; }

-keep public class android.support.v7.internal.widget.** { *; }

-keep public class android.support.v7.internal.view.menu.** { *; }

-keep public class * extends android.support.v4.view.ActionProvider {

public (android.content.Context);

}

#2.rxjava

-keep class rx.schedulers.Schedulers {

public static ;

}

-keep class rx.schedulers.ImmediateScheduler {

public ;

}

-keep class rx.schedulers.TestScheduler {

public ;

}

-keep class rx.schedulers.Schedulers {

public static ** test();

}

-dontwarn sun.misc.**

-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {

long producerIndex;

long consumerIndex;

}

-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {

rx.internal.util.atomic.LinkedQueueNode producerNode;

}

-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {

rx.internal.util.atomic.LinkedQueueNode consumerNode;

}

#3.retrolambda

-dontwarn java.lang.invoke.*

#4.support-v4

-keep class android.support.v4.** { *; }

-keep interface android.support.v4.** { *; }

#5.ucrop

-dontwarn com.yalantis.ucrop**

-keep class com.yalantis.ucrop** { *; }

-keep interface com.yalantis.ucrop** { *; }

#6.photoview

-keep class uk.co.senab.photoview** { *; }

-keep interface uk.co.senab.photoview** { *; }

#7.rxgalleryfinal

-keep class cn.finalteam.rxgalleryfinal.ui.widget** { *; }

-keepclassmembers class * extends android.app.Activity {

public void *(android.view.View);

}

-keepclassmembers enum * {

public static **[] values();

public static ** valueOf(java.lang.String);

}

-keep class * implements android.os.Parcelable {

public static final android.os.Parcelable$Creator *;

}

-keepclassmembers class **.R$* {

public static ;

}

-keepattributes *Annotation*

-keepclasseswithmembernames class * {

native ;

}

-keepclassmembers public class * extends android.view.View {

void set*(***);

*** get*();

}

另附上demo地址:

https://github.com/meijius/RxGalleryFinal

android 视频录制尺寸裁剪,galleryfinal 实现Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。...相关推荐

  1. android 自定义相册选择,Android图片选择器,支持拍照、从相册选择、裁剪、自定义主题...

    在很多项目中都会用到图片选择器,比如在选择头像的时候,还会要求选择图片进行裁剪后再进行上传:而有的项目要支持拍照后进行图片裁剪再进行上传.由于Android系统兼容性问题,我们不得不考虑自己实现图片裁 ...

  2. android手机上图像分类技术的研究,用图片分类技术实现“拍照识花”的原理详解...

    春暖花开,万物复苏,正是踏青好时候.周末,阿珍组织班级里的小朋友去公园踏青,程序员阿强,作为护花使者也一同前往. 阿强本以为,可以肆意在林间草地自由地奔跑,回忆一下逝去的童真时光,没想到却成了小朋友们 ...

  3. android中的尺寸单位是什么,Android中各种长度尺寸单位(dp,dip,px,sp,pt)的区别

    dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和 QVGA 推荐使用这个,不依赖像素 ...

  4. Android 仿微信朋友圈9宫格图片展示多选图片

    转载请标明出处: http://blog.csdn.net/airsaid/article/details/51026447 本文出自:[周游的博客] 申明 该项目后续没有维护,并且里面存在一些 Bu ...

  5. android 华为裁剪全图,调用Android原生裁剪方式裁剪图片并保存

    前言 Android提供了原生的裁剪方式,并输出裁剪后的资源到相应的目录.主要有两种方式,下面我们来看看这两种方式. 由于Android10提出分区储存,我们这里为了方便暂不使用分区储存,通过使用 a ...

  6. Linux 使用ffmpeg修改和压缩视频文件格式

    Linux 使用ffmpeg修改和压缩视频文件格式 1.安装 ffmpeg 2. 使用ffmpeg修改和压缩视频文件格式 这里使用的ffmpeg是使用命令行进行修改和压缩视频文件格式. 我们使用的操作 ...

  7. 迅捷在线压缩有什么办法可以压缩视频

    现在有很多的短视频APP受欢迎,越来越多的人喜欢看短视频.自己也会因为工作原因制作短视频,但是视频多了找的时候就会麻烦.那么怎么在线压缩视频呢?接下来就简单介绍一下迅捷在线压缩进行视频压缩的步骤. 方 ...

  8. 如何最大效率压缩视频文件(ffmpeg)

    转载并翻译,原文:stackexchange 我测试了针对这个问题提出的大多数其他答案,测试数据结论如下.以下是我测试的方法: (BR)修改码率 # $infile: 输入视频路径 # $outfil ...

  9. 用VLC把视频导出为一帧一帧的图片

    用VLC把视频导出为一帧一帧的图片 记录一次用VLC把视频导出为一帧一帧的图片的过程 1.先打开VLC media player. 2.打开 工具-偏好设置. 3.点击左下角 全部. 4.找到并选中视 ...

最新文章

  1. Linux安装Hive并测试
  2. 【bzoj4881】[Lydsy2017年5月月赛]线段游戏 树状数组+STL-set
  3. linux 交叉编译 nginx,交叉编译nginx,luajit
  4. 过滤html标签的代码
  5. C# SerialPort 读写三菱FX系列PLC
  6. 【最全最详细】publiccmsCSS和JS引入无效的解决方法
  7. 重磅下载 | 核心系统100%上云,揭秘双11背后的云原生实践
  8. Shiro学习总结(3)——Apache Shiro身份认证
  9. javascript 校验 非空_前端(js+JQuery非空校验)
  10. Node.js:node项目中连接postgresql以及基础使用
  11. 谷歌浏览器下载更新(附带谷歌安装包百度云)
  12. CC2540 CC2541蓝牙芯片 蓝牙模块将升级至蓝牙5.0
  13. WinRAR去除打开后弹出广告的方法
  14. calico源码分析-ipam(1)
  15. 栈的应用-数制转换(C语言数据结构)
  16. java的nullpoint_java.lang.NullPointerException
  17. js创建一个电脑对象,该对象要有颜色、重量、品牌、型号,可以看电影、听音乐、打游戏和敲代码。
  18. c语言u8代表,请问头文件里的 u8,u16 vu 等符号是什么意思?
  19. 反常积分(如何解题)
  20. [python] tornado supervisor监控 以及 Nginx反向代理

热门文章

  1. python 高阶函数作业(3.16)
  2. 【解决方案】幼儿园监控有何优势?EasyGBS搭建监控让老师家长更放心
  3. 计算机科学与技术专业师范与非师范,同一个专业,师范和非师范到底有啥区别?...
  4. 面向大规模流量活动的高可用架构实践
  5. “海马体”平替教程:把拍海马体的钱省下来买排骨不香嘛?好用哭了
  6. php实现文件遍历,php ---- 文件遍历
  7. 数值法求解最优控制问题(二)——打靶法
  8. 那些年啊,那些事——一个程序员的奋斗史 ——92
  9. 2021年新能源汽车行业造车新势力专题研究报告
  10. 【蓝桥杯:嵌入式】\Sre\main: error: argument of type “uint16_t *“ is incompatible with parameter of typ