一杯清泉

Android开发的点点滴滴

软键盘打开和关闭监听

1、自定义软键盘监听控件 代码如下,核心要点查看备注: public class KeyboardLayout extends RelativeLayout { //软键盘展开 public static final byte KEYBOARD_STATE_SHOW = -3...

2019-06-13 22:34:22

阅读数 11

评论数 0

WebView应用详解

前面几篇文章已经介绍过WebView的相关内容了,但是都是专题形式,这次算是一个综合的补充吧! Android与前端交互之JSBridge https://blog.csdn.net/yoonerloop/article/details/78033908 Android中网页数据的抓取和修改 ...

2019-05-11 08:55:23

阅读数 48

评论数 0

TransactionTooLargeException异常

一、问题以及解决方案 TransactionTooLargeException异常是一个很不常见的异常,开发几年了,首次遇到这个异常,一部分手机会出现这种情况,当时还很惊奇。最后经查找原来是Activity启动时候intent数据传递过大发生的。当时是一个分享功能的偶发bug,在分享时候传递数据...

2019-04-27 17:07:25

阅读数 28

评论数 0

日历时间选择器

最近一直很忙很忙,去年年底公司裁了一拨人,导致新的需求人手不够,每个人任务都很重,虽说不是996,但是加班一直在进行,想写点什么东西总结总结,但是一直没有时间,今天发一个日历选择器,效果如下: 该日期选择器高度,默认选择时间,颜色,字体大小,滑动弯曲效果,标题,取消,确定等等都支持自...

2019-04-13 15:05:48

阅读数 52

评论数 0

Android中类的加载以及应用

将重点介绍一下三个方面: 类的加载机制 热修复原理 增量更新原理 一、类加载器的分类 1、Java ClassLoader (1)启动类加载器:Bootstrap ClassLoader 用C++编写的,是JVM自带的类加载器,负责Java平台核心库,用来加载核心类库。该加载器无法直接...

2019-03-03 09:20:15

阅读数 87

评论数 0

探究ZoomImageVie中的图片居中和多点触控

  ZoomImageView是一个支持收拾缩放,多点触控的开源控件,这篇文章学习他的图片居中和手势缩放。要缩放的是一个图片所以要用到自定义控件,我们MyZoomImageView,继承自AppCompatImageView实现他的构造方法,既然是图片的处理,我们这里用到了一个类Matrix,他...

2019-02-23 20:43:38

阅读数 56

评论数 0

Activity异常关闭时数据的存储和恢复过程分析

  在正常情况下关闭Activity,例如按下返回键、返回箭头等Activity直接就被销毁。但是在Activity内存不足、异常关闭或者屏幕旋转等情况的时候,当前的Activity会被销毁,这个过程中页面上的Fragment、View等信息会被保存下来,当再次展示的时候会被重建,重建后的Act...

2019-02-17 15:47:18

阅读数 91

评论数 0

自定义ViewGroup之FlowLayout

  先看看效果图: 先自定义一个类TestViewGroup,继承自ViewGroup,重写onMeasure、onLayout方法。 一、重写onMeasure方法 @Override protected void onMeasure(int widthMeasur...

2019-01-29 22:25:54

阅读数 56

评论数 0

从源码角度分析View的绘制流程

  上一篇文章引出了performTraversals,在内部分别调用了performMeasure,performLayout,performDraw三个方法。这三个方法分别有调用了mView.measure,mView.layout,mView.draw(canvas)三个对应的方法,因此我...

2019-01-24 22:14:36

阅读数 60

评论数 0

从源码角度分析View的加载过程

  本文是依据Android 8.1.0的相关源码进行分析。 一、setContentView的如何加载布局? 通常Activity的onCreate里面都需要写上setContentView,那么就从Activity入手,找到setContentView,如下: public ...

2019-01-17 22:03:05

阅读数 33

评论数 0

软键盘相关问题总结

  之前写了一篇文章,主要介绍一些EditText的一些属性和自定义打开链接(点击打开),最近开发中又遇到了其他的的问题,再次进行总结。包含以下几个部分: 软键盘顶部添加布局方式 防止软键盘顶起布局内容 初始进入页面软键盘弹出 软键盘的弹出与收缩 软键盘弹出与收缩的监听   一、软键...

2019-01-05 12:31:41

阅读数 75

评论数 0

设计模式之责任链模式

  责任链模式数据23种设计模式中的行为型模式,他是使多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 场景:一个员工报销,需要层层审批,初级领导只能报销500元以内的,中级领导能报销2000以...

2018-12-23 19:43:49

阅读数 69

评论数 0

RecycleView的缓存机制

  一、Recyclerview的缓存类 RecycleView的四级缓存是由三个类共同作用完成的,Recycler、RecycledViewPool和ViewCacheExtension。Recycler用于管理已经废弃或者与RecyclerView分离的ViewHolder,这里面有两个重...

2018-12-15 21:21:38

阅读数 392

评论数 0

GridView横滑效果的实现

  要实现一个横向滑动,通常是使用horizontalscrollview,他可以横向滚动;要实现宫格布局,一般是使用GridView。那么要实现横向滑动的表格布局就需要结合二者,进行构建。 1、xml布局: horizontalscrollview作为父布局,可以横向滑动,GridView...

2018-12-02 20:45:02

阅读数 67

评论数 0

设计模式之原型模式

  所谓原型模式就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。在原型模式中,所发动创建的对象通过请求原型对象来拷贝原型对象自己来实现创建过程,当然所发动创建的对象需要知道原型对象的类型。在拷贝中又分为深拷贝和浅拷贝。 浅拷贝:只是赋值了一个内存地址的引用,相当于赋值。 ...

2018-11-17 10:09:48

阅读数 77

评论数 0

吸顶效果的另一种实现

  前面介绍过一篇文章,是使用ItemDecoration来实现吸顶效果,使用起来很解耦,简单,方便,但是优缺点是拓展性比较差,今天就通过另一种方式来实现吸顶效果,并且吸顶栏可以高度制定布局和交互,步入正题,下面来实现它,先看看效果图: 一、实现原理 头部的内容位于Recycleview...

2018-11-11 09:48:37

阅读数 384

评论数 0

Recycleview的联动效果

下面我们将实现一个Recycleview的联动效果,即一个Recycleview滑动,另一个Recycleview也跟着滑动,最初想的是监听其中的一个Recycleview滑动,调用另一个Recycleview的scrollBy方法,其实跟随滑动,尝试了一下,一个监听另一个没什么问题,但是当另一个...

2018-11-03 09:50:21

阅读数 235

评论数 0

okhttp源码分析

okhttp是一款强大的网络访问框架,使用很久了,通过源码分析,将理解到okhttp的加载流程和设计理念,以及一些核心OkHttpClient、Request、RealCall、Dispatcher、Interceptor等核心类的作用。按照他的加载流程进行分析,先来看看最简单的get请求: ...

2018-10-21 11:03:40

阅读数 55

评论数 0

hash冲突的解方法

  hashCode的生成中不同的key生成的hashValue可能是一样的,尽管这种可能比较小,一旦生成的hashCode相同了,那么获取到的值就出现错乱,这种情况下就需要解决hash冲突问题,通常hash冲突的解决有两种方法,一种是开放地址法,另一种是链表地址法,下面分别介绍这两种方法。 ...

2018-10-16 21:29:17

阅读数 63

评论数 0

java数据结构——哈希表

  哈希表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表,也称为哈希表。下面将以数组来实现哈希表结构。 1、哈希表节点 哈希表节点一般包括两个变量,k...

2018-10-13 09:42:53

阅读数 217

评论数 0

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