Android实现本地图片选择及预览缩放效果仿春雨医生

在做项目时经常会遇到选择本地图片的需求,以前都是懒得写直接调用系统方法来选择图片,但是这样并不能实现多选效果,最近又遇到了,所以还是写一个demo好了,以后也方便使用。还是首先来看看效果 显示的图片使用RecyclerView实现的,利用Glide来加载;下面弹出的图片文件夹效果是采用Bott...

2017-03-03 09:03:17

阅读数 3484

评论数 1

ItemDecoration详解以及用ItemDecoration实现按字母排序列表

首先看看实现的效果 1 可以看出要实现上面效果,有三个步骤: 1.汉字转化为拼音,并且根据首字母排序 2.用ItemDecoration实现字母行的显示 3.自定义实现右侧的按字母导航栏 当然重点讲讲ItemDecoration的实现。都知道RecyclerView本身都没有分割线,需要分割线...

2016-12-19 09:03:13

阅读数 4254

评论数 0

自定义LayoutManager的详解及其使用

RecyclerView不断的普及,越来越多的人使用来代替传统的ListView,GridView等,为了跟进时代也要不断的学习RecyclerView的相关知识,下面就来了解一下RecyclerView的LayoutManger。 Recycler RecyclerView内部有一个Recycl...

2016-10-20 09:31:09

阅读数 6616

评论数 1

NestedScrolling机制

简介 NestedScrolling机制能够让父View和子View在滚动式进行配合,其基本流程如下: 当子view开始滚动之前,可以通知父View,让其先于自己进行滚动; 子View自己进行滚动; 子view滚动之后,还可以通知父view继续滚动 嵌套滑动的基本原理是在子控件接收到滑动一段距...

2018-12-02 15:29:42

阅读数 138

评论数 0

Android Studio Gradle配置详解

Gradle文件体系 Android工程通过gradle文件管理各项配置,gradle文件利用DSL(Domain Specific Language)语言描述配置, 并使用Groovy语言处理编译逻辑。一个典型的Android工程结构如下: 在这里gradle文件分布在几个不同的层级,...

2018-07-24 23:06:16

阅读数 1204

评论数 0

Kotlin笔记-属性

定义常量与变量 类中声明的属性,一定要初始化,否则会编译错误。除非你对属性使用了abstract进行修饰。 var name: String = "" //abstract var size : Int//必须在抽象类中使用 ...

2018-07-09 23:12:44

阅读数 67

评论数 0

Kotlin笔记-类

类修饰符 // 属性修饰符 annotation //注解类 abstract //抽象类 final //类不可继承,默认属性 enum //枚举类 open //类可继承,类默认是final的 // 访问权限修饰符 private //仅在同一个文件中可...

2018-07-09 23:12:06

阅读数 59

评论数 0

判断RecyclerView滑动到底部和顶部

方法1 mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView...

2018-07-07 11:33:11

阅读数 6270

评论数 7

ConstraintLayout的完全解析

ConstraintLayout也就是约束布局,通过约束来实现布局,感觉有点类似与RelatedLayout,但是比之更加的强大,使用ConstraintLayout可以减少布局的嵌套层数,尽量的扁平化。传统的布局我们都是采用xml来操作,但是使用ConstraintLayout可以实现可视化的拖...

2018-05-10 00:34:30

阅读数 1610

评论数 0

app安装报错FileUriExposedException

原因 从Android 7.0开始,不再允许在app中把file:// Uri暴露给其他app,否则应用会抛出FileUriExposedException。原因在于,Google认为使用file:// Uri存在一定的风险。比如,文件是私有的,其他app无法访问该文件,或者其他app没有申请R...

2018-04-10 15:54:03

阅读数 187

评论数 0

给初学者的RxJava2.0教程(四)

前言 在上一节中, 我们提到了Flowable 和Backpressure背压, 本来这一节的确是想讲这两个东西的,可是写到一半感觉还是差点火候,感觉时机未到, 因此,这里先来做个准备工作, 先带大家学习zip这个操作符, 这个操作符也是比较牛逼的东西了, 涉及到的东西也比较多, 主要是一些细节...

2018-01-22 14:08:45

阅读数 66

评论数 0

Retrofit2完全教程

转载地址 本文注目录: Retrofit入门 Retrofit注解详解 Gson与Converter RxJava与CallAdapter 自定义Converter 自定义CallAdapter 其它说明 前言 接口列表: 地址 请求方法 参数 说明...

2018-01-22 14:06:55

阅读数 122

评论数 0

给初学者的RxJava2.0教程(三)

前言上一节讲解了线程调度, 并且举了两个实际中的例子, 其中有一个登录的例子, 不知大家有没有想过这么一个问题, 如果是一个新用户, 必须先注册, 等注册成功之后再自动登录该怎么做呢.很明显, 这是一个嵌套的网络请求, 首先需要去请求注册, 待注册成功回调了再去请求登录的接口.我们当然可以想当然的...

2017-12-21 17:44:10

阅读数 86

评论数 0

给初学者的RxJava2.0教程(二)

前言上一节教程讲解了最基本的RxJava2的使用, 在本节中, 我们将学习RxJava强大的线程控制.正题还是以之前的例子, 两根水管: 正常情况下, 上游和下游是工作在同一个线程中的, 也就是说上游在哪个线程发事件, 下游就在哪个线程接收事件.怎么去理解呢, 以Android为例, 一个Act...

2017-12-21 17:37:08

阅读数 96

评论数 0

给初学者的RxJava2.0教程(一)

前言上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。 ...

2017-12-21 17:35:49

阅读数 167

评论数 0

Canvas详解

根据文档说明我们知道想要draw something有四个基本的要素: - 一个保存像素的Bitmap - 一个Canvas进行Bitmap的绘制 - 绘制的东西 - 画笔Paint获取Canvas获取Canvas实例我们一般都使用两种方式,一种是重写View的onDraw方法获得Canv...

2017-12-20 14:55:02

阅读数 224

评论数 0

面向对象的六大设计原则

单一职责原则单一职责原则的英文名称是Single Responsibility Principle,缩写是SRP。SRP定义是:就一个类而言,应该仅有一个引起它变化的原因。简单来说就是,一个类中应该是一组相关性很高的函数、数据的封装。。。

2017-06-22 15:21:21

阅读数 284

评论数 0

MaterialDesign之SearchView全面解锁

一、简述 SearchView是v7包中的一个兼容性控件,它可以单独使用,也可以配合menu+toolbar一起使用。本文将使用第二种方式,对SearchView进行探索。最后将通过代码实战,实现 “仿网易云音乐本地音乐搜索” 效果,带你全面解锁SearchView的UI定制及查询功能的实现。 ...

2017-06-16 09:39:13

阅读数 2028

评论数 0

Github远程仓库的操作同步

把本地项目上传到Github 这里的操作前提是按照之前博客把环境SSH都配置好了的。 1. 首先在Github创建存放本地项目的仓库 怎么创建仓库大家肯定已经知道了,之前博客也有提过。 2.

2017-05-24 09:06:59

阅读数 299

评论数 0

Android Shader渲染以及实现水波纹霓虹文字雷达等效果

Shader概述 Shader是绘图过程中的着色器,实现绘制各种不同的效果,Shader有以下五个子类: - BitmapShader用于Bitmap图片的渲染 - ComposeShader用于混合渲染 - LinearGradient用于线性渲染 - RadialGradient用于...

2017-05-22 09:08:35

阅读数 2733

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭