Android
文章平均质量分 77
梁山boy
这个作者很懒,什么都没留下…
展开
-
开源组件PullToRefresh
开源组件PullToRefresh介绍:PullToRefresh:顾名思义,是一个支持下拉刷新的组件。它是一个老外编写的,功能强大,支持ListView,GridView等等,在github上比较火。 github地址:https://github.com/chrisbanes/Android-PullToRefresh最近在看自定义View的实现,特地找了几个开源项目研究一下:)第三方库引原创 2015-12-01 17:17:54 · 1163 阅读 · 0 评论 -
从 ButterKnife 到“编译时注解”实战
写在前面下面是一些关于注解的个人认识,可以跳过,直接从知识点部分看起。自从注解出现以后,很多框架都喜欢用它来干活,显得轻便优雅。我最早邂逅的还是@Override这个家伙,那时对一些语言特性还不了解,觉得很怪。然而一旦接受了这个设定,还是挺带感的。现在看不到它还会浑身难受。一开始,注解是为编译时检查服务的,不会影响程序运行,反而增强了程序的可读性。常见的有:@Override: 检查是否正确重写原创 2016-11-21 00:08:19 · 2092 阅读 · 0 评论 -
Android 简易悬停抽屉控件 —— 仿知乎收藏夹
写在前面一直觉得知乎的交互体验是很好的,这次山寨了一把。 这是一个底部抽屉,类似知乎收藏夹。它可以悬停在中间,随着滑动自然过渡到全屏。 它是仿照support包里的DrawLayout和NavigationView设计的。 效果图知乎收藏夹:可以悬停在中间可以滑动到全屏过渡十分流畅,纵享丝滑 我的 HoverView :可以悬停在中间可以滑动到全屏过渡尚可,没有知乎的流畅原创 2016-12-14 22:18:03 · 7775 阅读 · 2 评论 -
从 Retrofit 源码中学习设计模式(上)
写在前面Retrofit 是我用过最友好的网络请求框架。无论是优雅的注解Api,还是强大而灵活的拓展性,都是其流行的一大要素。现如今,它的火爆程度完全不亚于 Rxjava。对于它的成功,api 的友好性是一方面,更深层的原因在于其精妙的解耦,而它的源码更是设计模式的教科书! 我乘机研究了一下源码,同时参考了一些博客,想扒一扒这个轮子的设计理念。 摘要本文基于 Retrofit 2.0.0-bet原创 2016-12-07 02:43:07 · 1272 阅读 · 0 评论 -
下拉回退 Activity,layout_behavior 还能这么玩?
写在前面熟悉layout_behavior的朋友都知道,它是CoordinatorLayout的重要属性。不过,你该不会以为它只能用在NestedScrollingChild上吧?如果你真这么觉得,它可会很伤心的:人家才没有这么弱呢。 其实它的能力远远不止这些。这里和大家分享一个 Demo 和心得。 效果图这次仿的是“下拉回退”效果,来自 https://github.com/nickbutch原创 2016-12-17 17:18:18 · 4552 阅读 · 3 评论 -
自制悬浮框,愉快地查看栈顶 Activity
写在前面接手陌生模块时,如何快速了解每个页面对应的类,以及它们之间的跳转逻辑。总不能在代码里一个一个地找startActivity()吧?有时候,又想查看别人的 app 的页面组织(像淘宝、微信啊),总不能一个一个反编译吧?总想着有没有工具查看当前的Activity,于是自己弄了一个,这下就方便了。 效果图先看下淘宝好了: 我好像看到了com.taobao.weex.XXX,难道weex已原创 2016-12-27 00:20:36 · 5378 阅读 · 11 评论 -
基于 Gradle 的 Android gif 录屏脚本,录屏并自动上传至电脑,给常写博客的你~
介绍基于 Gradle 的 Android gif 录屏脚本,自动上传至电脑~ 源码https://github.com/fashare2015/gradle-screen-record 支持的操作系统Mac osx使用0. gradle 开发环境Gradle 是必不可少的啦。1. 工具准备 (已经安装的话,请跳过这部分)请确保已经安装了这些工具adb: 我们用它来录屏,生成’.mp4原创 2017-01-06 14:33:39 · 968 阅读 · 0 评论 -
CoordinatorLayout 子 View 之间的依赖管理机制 —— 有向无环图
写在前面这几天接触了CoordinatorLayout和所谓layout_behavior,然后进一步理了一遍源码。有两点惊艳到了我,一个是嵌套滑动机制,再一个便是依赖管理机制。对于嵌套滑动NestedScroll的分析,网上有挺多博客。那本文打算从依赖管理的角度来讲一些东西。 效果图这是一个模仿java继承关系的例子,定义了一个DependencyBehavior来描述继承关系。 即A ext原创 2016-12-20 00:50:20 · 2672 阅读 · 2 评论 -
解耦解的早,改需求没烦恼
摘要 世上本没有解耦,需求改的多了也便有了解耦。 —— 产品经理本例将通过一个计时控件,聊聊如何解耦~本TimerView仅作为demo,不保证其健壮性,请勿在实际项目中使用。特点UI容器与计时逻辑分离UI容器与具体UI布局分离源码https://github.com/fashare2015/TimerViewLet’s Go话说,小明在做一个电商项目,有个倒计时需求。需求1.0要求”时原创 2017-01-17 02:12:07 · 836 阅读 · 0 评论 -
ViewPager 源码分析(二) —— 关于 notifyDataSetChanged()
写在前面关于 ViewPager,我准备写一个系列。我水平也不咋地,估计有不少纰漏,各位爱看不看:ViewPager 源码分析(一) —— PagerAdapter 与页面缓存 知识点上回说到PagerAdapter这个类以及setAdapter()和populate()如何在数据变化时重建和销毁页面。本节我们继续来看PagerAdapter,体味一下 android 中典型的观察者模式。其中涉原创 2016-11-16 01:26:05 · 752 阅读 · 0 评论 -
ViewPager 源码分析(一) —— setAdapter() 与 populate()
写在前面做安卓也有一定时间了,虽然常用控件都已大致掌握,然而随着 Android N 的发布,不自觉的愈发焦虑起来。说来惭愧,Android L 的 Material Design 库里的许多控件都还没用过,照这样下去迟早要被新技术所淘汰。那该怎么办呢,偶然间我看到一篇博文如此说到:“不要觉得 android 里边控件繁杂多样,官方或第三方新控件层出不穷,其实真正的控件就只有两个View和ViewG原创 2016-11-08 01:02:58 · 4104 阅读 · 0 评论 -
WebView 初探
WebView 初探介绍WebView 是一个用于加载网页的控件,相当于嵌入式浏览器。有了它我们就能以 native 和 web 混合的形式开发。对于一些不重要的页面,可以交给前端实现,我们只需在 webview 里加载它,有效减轻了 native 的开发任务。// 加载页面String url = "http://www.baidu.com";webview.load(url); 当然用 w原创 2015-12-18 17:50:10 · 414 阅读 · 0 评论 -
AIDL 实现 IPC(进程间通信)
AIDL AIDL即安卓接口定义语言,其语法类似java,用于定义一些特殊的接口。由来 就以 service 为例: android 常以 service 提供一些服务和数据,acticity 通过 binder 与service 进行数据交换(如 get 和 set )。然而,有时候 acticity 需要访问远程的 service (如别的应用程序提供的 service),之前的原创 2016-04-06 14:30:23 · 435 阅读 · 0 评论 -
RxJava 源码分析之 —— lift 变换
写在前面 rxjava 一直很火,我也用了一段时间,感觉特别好用。它属于响应式编程(Reactive Programming,以下简称 RP),脱胎于观察者模式。两者的对比如下:观察者模式:observable -> observer响应式编程:observable -> lift1 -> lift2 ->… ->observer 可以看到,RP 的特点是在观察的基础上,加入了传播路径上的变原创 2016-09-13 17:41:59 · 942 阅读 · 0 评论 -
Android Studio插件推荐-GsonFormat,ButterKnifeZelezny
原创文章,转载请注明 http://blog.csdn.net/leejizhou/article/details/50557786 本篇介绍的只适用android studio和 Intellij IDEA 开发工具,还在用Eclipse的朋友们这篇博文不适合你,还是看看我的其他文章吧:)《Android Studio插件推荐》系列后续会给大家分享一些在Android Studio上转载 2016-09-05 18:09:34 · 478 阅读 · 0 评论 -
可能是东半球最全的RxJava使用场景小结
原文链接:可能是东半球最全的RxJava使用场景小结一、Scheduler线程切换这种场景经常会在“后台线程取数据,主线程展示”的模式中看见[html] view plain copyprint?Observable.just(1, 2, 3, 4) .subscribeOn(Schedu转载 2016-09-18 12:03:02 · 920 阅读 · 0 评论 -
手撸注解框架 —— 仿 Retrofit
前言说起注解框架,不得不说的是 ButterKnife,Retrofit,还有 Dagger。想来全是 Square 公司的作品,不由得心生膜拜。。。最近一直在用 ButterKnife,看了下源码也有一些感悟。人家大神写代码就是高大上,就为了省一行代码 findViewById(),硬生生撸了一个库出来。。。 以前没感觉,现在感觉注解真 TM 好用。俺也要用注解省代码!!!项目地址项目完整代原创 2016-10-13 01:41:14 · 2024 阅读 · 0 评论 -
Android 技能树
摘要学习 android 也有一段时间了,感觉一直在打游击战。东看一点西看一点,总是不够系统。为此,特地腾出时间整理一些资料,罗列一些重要的技能点。持续更新中。。。先大致分为如下几块吧:java基本语法(封装、继承、多态;锁机制、范型、反射、注解、lambda)常用包(Collection、lang、concurrent、io、nio、java8 的 stream)jvm 虚拟机设计模式单例原创 2016-09-29 01:29:33 · 2065 阅读 · 0 评论 -
android 二级联动列表,仿eleme点餐页面
写在前面最近手感不错,老想写点轮子。正好周末外卖点得多,就仿一仿“饿了么”好了。先上图吧,这样的订单页面是不是很眼熟:右边的listview分好组以后,在左边的Tab页建立索引。可以直接导航,是不是很方便。关键在于右边滑动,左边也会跟着滑;而点击左边呢,也能定位右边的项。它们存在这样一种特殊的交互。像这种联动的效果,还有些常见的例子呢,比如知乎采用了常见的toolbar+viewPager的联动,只原创 2016-10-19 00:24:52 · 16680 阅读 · 4 评论 -
No ViewHolder!!! 一个非官方的纯java版 databinding(拒绝xml配置).
写在前面 我们的目标是 No ViewHolder and No Adapter.官方的databinding的确十分厉害,各种xml绑定,然后自动生成一波文件,各种吊的飞起,不过容易让人抓不住重点。为了加深理解,我写了这个纯java版的databindng, 不需要xml各种配置android:text="@{...}",同时进一步加了绑定Adapter。 时间仓促,只粗略的实现了小部分原创 2017-03-16 04:14:14 · 759 阅读 · 0 评论