[置顶] 细说 AppbarLayout,如何理解可折叠 Toolbar 的定制

Meterial Design 是个好东西,它的出现使得 Android 也能定制高颜值的界面,并且指导了如果实现复杂炫丽的交互效果,而 Android Surpport Desgin 这个支持包就是 Android 官方对 Material Design 的代码实现。 Android Support Desgin 这个包中提供了一系列的组件如:CoordinatorLayout、AppBarLa...
阅读(2948) 评论(6)

[置顶] Java 泛型,你了解类型擦除吗?

泛型,一个孤独的守门者。 大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉。文章开始的地方,先给大家奉上一道经典的测试题。List l1 = new ArrayList<Stri...
阅读(2505) 评论(13)

[置顶] 反射进阶,编写反射代码值得注意的诸多细节

前面一段时间,我编写了一篇关于 Java 反射基础知识的博文,内容挺多的,涉及到了 Class 的获取,Field、Method、Constructor、Array 及 Enum 的获取与操作。如果学会了这些知识,就能阅读或者是编写大多数反射相关代码。但是,因为反射这一块的内容实在是太多了,编写代码过程中难免会遭遇到各种各样的 Exception,对于一个刚熟悉反射基础知识的新手而言,往往会感到深深...
阅读(8437) 评论(17)

[置顶] 轻松学,听说你还没有搞懂 Dagger2

Dagger2 确实比较难学,我想每个开发者学习的时候总是经历了一番痛苦的挣扎过程,于是就有了所谓的从入门到放弃之类的玩笑,当然不排除基础好的同学能够一眼看穿。本文的目的尝试用比较容易理解的角度去解释 Dagger2 这样东西。 Dagger2 是有门槛的,这样不同水平能力的开发者去学习这一块的时候,感受到的压力是不一样的。 我个人总结了大家在学习 Dagger2 时,为什么感觉难于理解的一些原...
阅读(7478) 评论(18)

[置顶] 轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)

写这篇文章的原因是这两天在编写关于 Dagger2 主题的博文时,花了大量的精力来解释依赖注入这个概念。后来想一下,这些在面向对象开发过程中与依赖相关的诸多术语和概念实际情况下非常的抽象,因此独立成文也有就一定的意义,旨在帮助初学者快速地对这些概念有一个大致的印象,然后通过一些实例来领悟它们之中的内在奥秘。 什么是依赖(Dependency)?依赖是一种关系,通俗来讲就是一种需要。 程序员需要电...
阅读(5109) 评论(11)

[置顶] 细说反射,Java 和 Android 开发者必须跨越的坎

写作是门手艺,笑对需要勇气。写下这个题目的时候,我压力比较大,怕的是费力不讨好。因为反射这一块,对于大多数人员而言太熟悉了,稍微不注意就容易把方向写偏,把知识点写漏。但是,我已经写了注解和动态代理这两个知识点的博客,阅读量还可以,这两个知识点是属于反射机制中的,现在对于注解和动态代理息息相关的反射知识基础我倒是退缩了,所以说看起来很普通的东西,其实真的要一五一十地把它的门道说才方显功力。我们经常说一...
阅读(13360) 评论(37)

[置顶] 轻松学,Java 中的代理模式及动态代理

前几天我写了《秒懂,Java 注解 (Annotation)你可以这样学》,因为注解其实算反射技术中的一部分,然后我想了一下,反射技术中还有个常见的概念就是动态代理,于是索性再写一篇关于动态代理的博文好了。 我们先来分析代理这个词。代理代理是英文 Proxy 翻译过来的。我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了。她们从厂家拿货,然后在朋友圈中宣传,然后卖给熟人。按理说,顾客...
阅读(13874) 评论(17)

[置顶] 秒懂,Java 注解 (Annotation)你可以这样学

文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博文了。 Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。 我个人认为,比较糟糕的技术文档主要特征之一就是:用专业名词来介绍专业名词。...
阅读(9607) 评论(55)

[置顶] 不再迷惑,也许之前你从未真正懂得 Scroller 及滑动机制

学习本来就是从困惑中摸索问题答案的过程,能够描述出来问题就已经成功了一半。只要发现了困扰你的东西是什么,那么你就离解答出来不远了。————肯尼斯 R. 莱伯德 一直以来,Android 开发中绕不过去的话题就是自定义 View,曾几何时,考验一个开发者能不能熟悉自定义 View 的基础流程作为分辨菜鸟和中级开发者的一个技术标准。但是自定义 View 本身而言,应对各种具体的需求,难度又不一样,这是因...
阅读(4144) 评论(26)

[置顶] 针对 CoordinatorLayout 及 Behavior 的一次细节较真

我认真不是为了输赢,我就是认真。– 罗永浩 我一直对 Material Design 很感兴趣,每次在官网上阅读它的相关文档时,我总会有更进一步的体会。当然,Material Design 并不是仅仅针对 Android 而言的,它其实是一套普遍性的设计规范。而对于 Android 开发人员而言,我们涉及的往往是它的实现。也就是一个个个性鲜明的类。比如 RecyclerView 、CardView、...
阅读(12830) 评论(14)

[置顶] 长谈:关于 View Measure 测量机制,让我一次把话说完

《倚天屠龙记中》有这么一处:张三丰示范自创的太极剑演示给张无忌看,然后问他记住招式没有。张无忌说记住了一半。张三丰又慢吞吞使了一遍,问他记住多少,张无忌说只记得几招了。张三丰最后又示范了一遍,张无忌想了想说,这次全忘光了。张三丰很满意,于是放心让张无忌与八臂神剑去比试。 首先声明,这一篇篇幅很长很长很长的文章。目的就是为了把 Android 中关于 View 测量的机制一次性说清楚。算是自己对自己较...
阅读(4608) 评论(25)

[置顶] RecyclerView探索之通过ItemDecoration实现StickyHeader效果

我在上一篇《小甜点,RecyclerView 之 ItemDecoration 讲解及高级特性实践 》 讲解了 ItemDecoration 的基本用法及它的一些实践,抱着学习研究的态度,这一篇作为实践篇主要目的是尝试通过 ItemDecoration 来实现 RecyclerView 中的 StickyHeader 功能。 关于 StickyHeader 想必大家已经很清楚了,如果不有不清楚的,...
阅读(3917) 评论(8)

[置顶] 一看你就懂,超详细java中的ClassLoader详解

ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。想想也是的,一次性加载那么多ja...
阅读(22689) 评论(58)

[置顶] Android Framework中的线程Thread及它的threadLoop方法

当初跟踪Camera的代码中的时候一直追到了HAL层,而在Framework中的代码看见了若干个Thread。它们普遍的特点就是有一个threadLoop方法。按照字面的意思应该是这个线程能够循环处理数据。对应我想到到了java上层中的HandlerThread,这个估计也差不多,但当时心里总有一个疙瘩,想弄清楚它到底是怎么循环起来的。Android中java世界的Thread先来看看java是怎么...
阅读(8488) 评论(4)

解决 MPAndroidChart 无法引入依赖的问题

刚刚犯了一个低级错误。引用 MPAndroidChart 这个开源的图表库的时候,按照官方的提示去引入依赖库,结果同步的时候,怎么都编译不过。提示的信息就是: Failed to resolve: com.github.PhilJay:MPAndroidChart:v3.0.2 可我记得自己明明就按照配置说明进行的配置的啊。先看官方文档。然后,再比较自己的配置文件。buildscript {...
阅读(152) 评论(0)

神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup

为了吸引大家的注意力,先给大家看一张动图: 相信这种效果大家都见过吧?我第一次见到这样的效果时,心里也痒痒的,急于想实现这种功能,后来因为拖延症的问题,就一直没有去弄这件事。现在这段时间,工作比较轻闲,所以对自己几年 Android 生涯所运用的技术做一些总结与思考。拖拽这种功能正好可以形成一个主题。如题目所示,今天博文的目标就是介绍与分析 ViewDragHelper 这个类。 读者阅读本...
阅读(2914) 评论(10)

Kotlin 第二弹:Android 中 PDF 创建与渲染实践

这是 Kotlin 练习的的第二篇。这一篇的由来是因为刚刚在 Android 开发者官网查看 API 的时候,偶然看到了角落里面的 pdf 相关。 我仔细看看了详细文档,发现这个还蛮有意思的,关键是编码流程很简单。所以就想写篇博客记录备忘一下。本来是用 Java 实现的,后来想到最近自己也在熟悉 Kotlin,于是索性就改成 Kotlin 来实现了。但是,我一起认为编程最重要的是编程思想,不管...
阅读(3779) 评论(1)

Kotlin 第一弹:自定义 ViewGroup 实现流式标签控件

古人学问无遗力, 少壮工夫老始成。纸上得来终觉浅, 绝知此事要躬行。 – 陆游 《冬夜读书示子聿》 上周 Google I/O 大会的召开,宣布了 Kotlin 语言正式成为了官方开发语言。一时间 Android 开发者的圈子炸开了锅,各种关于 Kotlin 的资料介绍也如雨后春笋不断的冒出。大家都对这比较关心,我觉得最大的原因是,当初宣布 Android Studio 成为官方 IDE 后,很多开...
阅读(2054) 评论(4)

自定义View实战--实现一个清新美观的加载按钮

在 Dribble 上偶然看到了一组交互如下: 当时在心里问自己能不能做,答案肯定是能做的,不过我比较懒,觉得中间那个伸缩变化要编写很多代码,所以懒得理。后来,为了不让自己那么浮躁,也为了锻炼自己的耐心程度,还是坚持实现它了。这个过程,觉得自己还是有所收获,把握了一些想当然的细节,输理了对于自定义 View 的流程。我将这个自定义 View,起了一个名字叫做 LoadButton。这篇文章涉及到的...
阅读(2071) 评论(7)
46条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:191345次
    • 积分:2600
    • 等级:
    • 排名:第14625名
    • 原创:45篇
    • 转载:0篇
    • 译文:1篇
    • 评论:397条
    博客专栏
    最新评论
    统计