首页
学习
活动
专区
圈层
工具
发布

Android 选择图片、上传图片之Matisse

而且,功能也不算是很齐全吧…主要体现在以下几个点 没有回调之后的预览 选择之后不能删除已选 已选择的图片再次选择不能带过去 剪裁 压缩 权限 Glide版本过低 但是,也是有特点的 MD风格 白天模式和夜间模式...,哇的哭出声 使用 你以为集成都这么坎坷了,使用应该很方便吧,no啊大胸弟, 虽然集成之前我看到150+的Issues有点头皮发麻,果然没让我失望,坎坷的路还长着呢。...遇到几个点还没有解决,也懒得深入研究了,我要回家过年,哼 拍照还是选择相册,没有处理 预览,选择图片的时候可以预览,但是回调之后并不行,没有处理 onActivityResult回调之后的图片不能直接删除...,没有处理 剪裁,没有处理 压缩,没有处理 哦对了,如果可以预览了,那还得可以保存图片呢,也没有处理,因为预览没有处理,哈哈哈嗝 已选择的图片,再次选择的时候带过去,没有处理 那有人就会说了,这么多没有的功能...比如筛选条件、主题… emmm… 你说的对,但我不认同。哈哈哈 哦对了,选择图片的时候可以预览,看一下是什么样的 啊。。

2.2K10

Android材料设计之Behavior攻坚战

应该对 behavior有一定的认识 注意:改动自定义behavior路径时一定要改使用到的地方,不然肯定崩,一定要改!!...本文内容: 1.认识Behavior的使用方式 2.自定义Behavior,分析layoutDependsOn回调和onDependentViewChanged回调 3.自定义Behavior,分析onNestedScroll...回调和onNestedPreScroll回调 ---- 一、简单认识 1.使用 在CoordinatorLayout和AppBarLayout那篇貌似也没有碰到Behavior啊 不过仔细想一下,好像有个地方比较特殊...自定义Behavior.gif ---- 4.关于几个参数 debug一下,应该很清楚的看出view和dependency分别对应的是什么 ?...,所以按需使用(如果没有平移,随便用) 可以看到移动的有效长度是dependency的高度,一旦超过onDependentViewChanged将不再回调 ?

1.5K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 选择图片、上传图片之PictureSelector

    (2019-07-05) 之前出过一篇 Android 选择图片、上传图片之ImagePicker,这个是okgo作者出的,就一般需求来讲是够了,但是没有压缩,需要自己去搞。...支持从相册或拍照选择图片或视频、音频,支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能、适配android 6.0+系统,而且你能遇到的问题,README文档都有解决方案。...6.支持裁剪比例设置,如常用的 1:1、3:4、3:2、16:9 默认为图片大小 7.支持视频预览 8.支持gif图片 9.支持.webp格式图片 10.支持一些常用场景设置:如:是否裁剪、...是否预览图片、是否显示相机等 11.新增自定义主题设置 12.新增图片勾选样式设置 13.新增图片裁剪宽高设置 14.新增图片压缩处理 15.新增录视频最大时间设置 16.新增视频清晰度设置...使用非常简单,你想要的基本上都有 package com.yechaoa.pictureselectordemo; import android.Manifest; import android.annotation.SuppressLint

    4.8K10

    RecyclerView分割线开发技巧

    在上一期通过简单学习,已经领略到了RecyclerView的灵活性,当然都是一些最基础的用法,那么本期一起来学习RecyclerView的分割线使用。...相信有的比较细心的同学已经发现了,使用RecyclerView实现的List列表和ListView实现的列表有一些细微差距,item之间没有分割线,导致item之间相隔不明显,但在实际开发中有又往往需要...由于RecyclerView并没有支持divider这样的属性,需要我们自己想办法来完成。主要有两种实现方式,接下来分别对其进行学习。...二、自定义分割线 上面第一种实现方式非常简单,但有时候还是不足以完成实际需求,这就需要用到自定义分割线了。 还记得上期里面提到的ItemDecoration类的作用了吗?...可以看到,自定义分割线的自由度和灵活性较大,也更加炫丽,完全可以根据实际需要来定制。

    1.9K80

    智能下拉刷新框架-SmartRefreshLayout

    特点 这时你会问:网上其他的开源下拉控件一样的可以自定义 Header 和 Footer ,SmartRefreshLayout 和它们比起来有什么优势?...下面通过自定义Header 和 嵌套Layout作为内容 来解释 SmartRefreshLayout 的智能之处。...一行Java代码都不用写,就完成了一个自定义的Header 嵌套Layout作为内容 如果boos要求在列表的前面固定一个广告条怎么办?...支持设置多种滑动方式来适配各种效果的Header和Footer:位置平移、尺寸拉伸、背后固定、顶层固定、全屏 支持内容尺寸自适应 Content-wrap_content 支持继承重写和扩展功能,内部实现没有...而且使用本方法的时候,Android Studio 会有预览效果,如下图: ?

    4.7K50

    RecyclerView的那点事儿

    ,使用系统自带的 private static final int[] ATTRS = new int[]{android.R.attr.listDivider}; public static...步骤 在自定义的adapter(记得implements View.OnClickListener,下面有个onClick方法)中定义如下接口,模拟ListView的OnItemClickListener...OnRecyclerViewItemClickListener listener) { this.mOnItemClickListener = listener; } 以上所有步骤都发生在自定义的...adapter中,典型的观察者模式,有点绕的地方在于,这里涉及到两个观察者模式的使用,view的setOnClickListener本来就是观察者模式,我们将这个观察者模式的事件监听传递给了我们自己的观察者模式...在Activity中使用 mRecyclerView = (RecyclerView)findViewById(R.id.my_recycler_view); //创建默认的线性LayoutManager

    2.5K30

    Android 中为RecyclerView控件添加分隔线

    接下来是自定义的适配器类MyRecyclerViewAdapter.java: import android.content.Context; import android.support.v7.widget.RecyclerView...可以看到,我们这里的显示子项之中并没有分割线,那么怎么添加分割线呢?...我们注意到这里的分隔线使用了我们自定义的资源,因此,我们要在drawable文件夹中新建一个资源文件my_list_divider.xm: 的时候分割线好像断了一样,实际上并没有这个bug。ok,下面来试试网格布局: ?...好了,RecyclerView控件的分隔线就介绍的差不多了,RecyclerView控件相当于ListView控件的升级版,使用步骤也类似:定义控件、使用适配器添加数据、添加布局管理器、添加分隔线、添加动画效果等等

    2.6K10

    Android开发笔记(一百二十二)循环器视图RecyclerView

    recyclerview-v7-21.0.0.aar,该aar文件其实是个压缩文件,解压该文件可得到classes.jar,将该jar包更名并加入到你的工程,上面的运行错误应该就没有了。 ...因为RecyclerView没有实现列表项的点击接口,所以开发者可通过这里的触摸监听器来监控用户手势。 removeOnItemTouchListener : 移除列表项的触摸监听器。...下面是与RecyclerView.Adapter相关的常用方法: 下面是自定义适配器必须要重写的方法: getItemCount : 获得列表项的数目。...这里返回的视图类型给onCreateViewHolder方法使用。 getItemId : 获得每项的编号。...,而是大神们自定义的控件,有关HorizontalListView的说明参见《Android开发笔记(一百零一)滑出式菜单》。

    3.6K20

    揭开RecyclerView庐山真面目

    另外ListView的可扩展性相对来说比较弱,以前要实现每个列表项的高度不同的界面,或者要完成瀑布流效果,需要非常复杂的自定义处理。...在开发RecyclerView时充分考虑了扩展性,因此用它可以创建想到的任何种类的的布局。但在使用上也稍微有些不便,比如使用步骤更加复杂,特别是一些控制点击、长压事件需要自己完成。...目前RecyclerView库提供了如下三种子Manager: LinearLayoutManager:展示了水平或者垂直的滚动列表,相当于之前学习的ListView,但是没有页眉和页尾。...在使用RecyclerView之前,需要自定义一个继承自RecyclerView.Adapter的适配器,将数据与每一个item的界面进行绑定。...RecyclerView实现ListView效果,使用自定义的RecyclerViewAdapter决定RecyclerView所要显示的内容,并设置显示的界面样式。

    2.4K80

    RecyclerView数据动态更新

    继续使用上期的案例,首先在RecyclerViewAdapter类中新增一个插入和删除处理的公开方法,RecyclerViewAdapter类修改后的代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample.adapter...interface OnItemLongClickListener { boolean onLongClick(View parent, int position); } // 自定义的...= new LinearLayoutManager(this); mRecyclerView.setLayoutManager(layoutManager); // 自定义分割线...RecyclerView的添加删除都是有默认的动画效果的,如果没有效果可以添加如下代码: mRecyclerView.setItemAnimator(new DefaultItemAnimator())...; 不知道你是否发现,当我们插入数据或者删除item的时候,item的位置并没有发生改变或产生位置错乱,需要重新调用notifyDataSetChanged方法,虽然问题得到了解决,但是又会产生新的问题

    7K61

    自定义recyclerView实现时光轴效果

    时光轴效果在很多app上都有出现,例如淘宝中快递的跟踪,本文将使用recyclerView实现时光轴效果,我们会到自定义控件,首先先看一下效果图: 接下来是步骤分析 1自定义属性 这个大家应该都了解了...:中间的圆形的大小,这里默认他的宽高一致 2.自定义TimeLine继承View,构造方法如下 private int lineWidth; private Drawable mBeginLine; private...,我们的mBeginLine的长度,其实是我们自定义控件的paddingTop高度,同理mEndLine的长度是paddingBottom高度,所以我们在使用这个控件时,一般都会设置paddingTop...和paddingBottom 6.使用TimeLine控件 以下是recyclerView中一个item的布局,多个item拼接起来就是一条时光轴,这里需要说明的是,我们的 LinearLayout使用的高度模式是...recyclerView的使用大家应该都很熟悉了,无非就是设置adapter,viewHolder等,这里不再赘述,还有一点需要强调的是ItemViewType有四种情况,第一个,最后一个,中间,还有只有一个四种情况情况

    57330

    Typora 编辑器 讲解 包括使用方式 快捷键 附带下载地址 (免费破解)

    它是一个 Markdown 编辑器和阅读器,这意味着您可以使用简单的格式代码 (Markdown) 是一种轻量级标记语言,它使用具有简单语法的纯文本来格式化文档。...Typora 的功能 实时预览:它提供 Markdown 文档在您键入时的实时预览,让您更轻松地查看内容在呈现时的外观。...可定制的主题:用户可以从各种主题中进行选择,以自定义编辑器和预览窗格的外观。...自定义导出方式:Typora 还支持自定义导出方式。用户可以通过配置“偏好设置”中的“导出”选项,添加新的导出方式或修改现有的导出方式。...自定义导出方式 自定义导出方式可以通过配置“偏好设置”中的“导出”选项来添加或修改。在“导出”选项中,用户可以指定导出的文件格式、输出文件名、导出命令等信息。

    1.3K10

    RecyclerView技术栈参考资料:

    看到这里,你可能不禁会问:并没有什么新东西啊,这和ListView有什么区别呀?我们已经使用ListView很长一段时间了呀,它一样可以做到呀。不过,视图回收本身并不是什么新鲜事。...因为ListView并没有严格的ViewHolder设计模式。但是在使用RecyclerView的时候,Adapter必须实现至少一个ViewHolder,必须遵循ViewHolder设计模式。...相反地,在RecyclerView中必须自定义实现RecyclerView.Adapter并为其提供数据集合。...Android团队很早之前就推荐使用“ViewHolder设计模式”,但实际上他们并没有把这种概念强加给开发者,而且也没有要求开发者在Adapter中必须使用ViewHolder pattern。....widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7

    2K10

    微软释出ML.NET 1.1,加入异常侦测演算法

    导读 微软为ML.NET的时间序列NuGet套件加入两个预览功能,分别是异常侦测演算法以及全新支援奇谱分析的时间序列预测元件 ?...ML.NET提供.NET开发人员简单且熟悉的机器学习开发工具,以在应用程式中加入自定义的机器学习模型,建立情感分析、推荐以及图像分类等应用。...Azure异常侦测团队为ML.NET的时间序列NuGet套件,贡献了一个名为SrCnnAnomalyDetection的异常侦测演算法,这个仍在预览阶段的演算法,使用了超高解析度的深度卷积网路,让开发者应用来侦测各种异常事件...另外,时间序列NuGet套件中,还提供全新的时间序列预测元件,让开发者可以实作基于奇谱分析(Singular Spectrum Analysis,SSA)的时间序列预测分析模型,目前也正在预览阶段。...而在ML.NET 1.0加入的模型建置工具,能够为开发者在Visual Studio中,提供视觉化介面建置、训练和客制化自定义机器学习模型,并支援自动化人工智慧功能,自动探索资料适用的机器学习演算法和设定

    79410

    【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 使用 DexClassLoader 获取组件类失败 | 失败原因分析 | 自定义类加载器没有加载组件类的权限 )

    文章目录 一、使用 DexClassLoader 获取组件类失败报错 二、失败原因分析 一、使用 DexClassLoader 获取组件类失败报错 ---- 在上一篇博客 【Android 逆向】启动...; 其中的最主要原因是 , 类加载器的双亲委派机制 , 加载 Android 组件类需要使用系统指定的类加载器 , 这些类加载器设置在 LoadedApk 实例对象中 , 并且这些类加载器只能从特定位置加载字节码文件...; 自己自定义的 DexClassLoader 没有加载组件类的权限 ; 如果要加载组件类 , 有两种方案 : 替换类加载器 : 使用自定义的 DexClassLoader 类加载器替换 ActivityThread...中的 LoadedApk 中的类加载器 , 将原来的 LoadedApk 中的类加载器设置为新的父节点类加载器 ; 插入类加载器 : 基于双亲委派机制 , 只要将我们自定义的类加载器插入到系统类加载器之上就可以..., 在 组件类加载器 和 最顶层的启动类加载器之间插入自定义的 DexClassLoader 类加载器即可 ;

    2K30
    领券