7 Hanks-zyh

尚未进行身份认证

Android 开发

等级
TA的排名 8k+

WebView 实现 NestedScrollingChild

承接上文 NestedScrollingParent 实现复杂交互效果 ,在 NestedScroll 这一套流程中,NestedScrollingChild 不用考虑怎么去通知父布局如何滚动,只需要负责自己的事情:产生滚动事件,并将事件共享出去,产生 fling 事件,共享 fling 。NestedScrollingParent 简称 NP NestedScrollingChild 简称 NC

2016-09-02 10:12:08

NestedScrollingParent 实现复杂交互效果

最终效果:1. 接口NestedScrollingParent 用来配置子视图( NestedScrollingChild )嵌套滚动。NestedScrollingParent 简称 NP NestedScrollingChild 简称 NCNC 产生一个 touch 事件,调用 startNestedScroll,表示开始分享出去 touch 事件, NP 的 onStartNestedSc

2016-09-02 10:11:02

写一个福利 Telegram 机器人

官网创建bot根据文档,在telegram里面添加@BotFather,然后跟他聊天来创建机器人拿到token测试在浏览器中(翻墙)输入https://api.telegram.org/botYOU_TOKEN/getMe测试:返回如下格式,说明成功。{"ok":true,"result":{"id":249208551,

2016-08-04 10:07:19

写一个 ButterKnife

ButterKnife 很多人都用过,能节省很多代码,最多的就是省去了很多 findViewById 语句。接下来自己写一个,就叫 BBKnife 吧。分析在使用 ButterKnife 时,需要书写下面的类似代码,以一个 Activity 为例ExampleActivity.javaclass ExampleActivity extends Activity { @BindView(R.id.

2016-07-31 23:46:39

多行 EditText 的光标高度问题

问题改变文本的行间距需要给 EditText 设置 lineSpacingExtra 和 lineSpacingMultiplier 这个时候的 EditText的光标高度就会变得很难看.解决办法自定义 cursorDrawable 然后设置 padding 值原理EditText 在更新光标的视图的时候检查了光标 drawable 的 padding. 计算光标高度会算上相应的值.相关源码:Edi

2016-07-25 00:24:57

自动化测试还可以用来干啥

自动化测试就是把一些重复的测试工作利用相关工具自动化,减少重复的劳动。我们不仅可以利用自动化测试工具做测试,还可以利用这些工作做一些其他事情,比如爬数据,曾经抓取过学校的整个学期的课表,空闲教室,帮老爸抓取他的客户联系信息到 excel 表。这种工具不同于一般的脚本爬虫,这相当于正常的用户行为,比如点击输入框,输入文本,点击按钮,而且不用担心动态 js 等问题。大概搜索了几个自动化测试的工具: s

2016-07-22 22:09:45

TextView 设置行高并垂直居中

需求: TextView 多行文本可以设置行高(如20dp),每行文本垂直居中。效果如下:实现思路:通过设置 TextView 的 lineSpacingExtra 和 lineSpacingMultiplier 来实现。lineSpacingMultiplier 的值为行间距的倍数,默认值为 1.0f。lineSpacingExtra 值为具体的行间距值,如20dp。垂直居中靠设置 padd

2016-07-22 22:05:55

学习 Promise (结合 Rxjava)

当前的问题在开发过程中不同的语言都有遇到 callback hell(回调地狱), 回调一般出现在异步操作中。 简单的例子: ① 从网络获取图片 ② 将图片进行压缩 ③ 压缩后的数据保存到本地 以上几个操作都属于异步操作,op1(callback(){ success(){ op2(callback(){ success(){

2016-06-26 16:27:41

利用 Android 手机打造来电通知计划

最近住的地方总在晚上停电,还让不让人活了,大热天的,于是就晚上在外面先找个凉快的地方呆着,但是来电的时间不确定,有时候感觉应该来电了,回去了还是没电,那个热啊。那么问题来了,要是屋里来电了有人告诉我就好了!于是计划写一个小程序让它在屋里来电后通知。 利用现用资源:一台退休的手机 大概思路是这样的:家里的路由器是一直连着电源的,老手机是一直开着 wifi 的,来电后路由器通电,自动连接上网络,

2016-06-22 00:11:51

Android 中获取当前的 Activity

需求:获取当前的 Activity 对象,Activity 是系统创建的,一种方法:在 onCreate 的时候拿到引用,这样就得修改 onCreate 方法,还得维护一个数组去管理 Activity 的引用。第二种方法:通过反射拿到 ActivityThread 中的 mActivities 属性,进而拿到当前的 activity 对象( paused 为 false 的activity)。pub

2016-06-18 19:42:51

SwipeRefreshLayout 源码

简介官方文档SwipeRefreshLayout 是一个下拉刷新控件,几乎可以包裹一个任何可以滚动的内容(ListView GridView ScrollView RecyclerView),可以自动识别垂直滚动手势。使用起来非常方便。 1.将需要下拉刷新的空间包裹起来<android.support.v4.widget.SwipeRefreshLayout android:lay

2016-06-18 19:41:25

前端+移动开发

第一阶段前端基本功 HTML+CSS JavaScript基础 JS基本特效 JavaScript高级特性 jQuery基本使用 HTML进阶 JavaScript基础教程 常见特效,例如:tab,导航,整页滚动 正则表达式 选择器 CSS进阶 JavaScript内置对象常用方法 轮播图,用JS制作幻灯片 排序算法,递归算法 DOM操作

2016-05-15 20:18:53

Framework分析-点击Launcher中的图标启动Activity

Launcher也是一个应用,点击一个图标,开启一个新的应用。分析从点击图标到新的应用的Activity执行onCreate的执行流程.注意学习Binder机制 无论是通过Launcher来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都通过Binder进程间通信进入到ActivityManagerService进程中,并且调

2016-02-29 22:55:06

Framework分析-Application的onCreate

ActivityThread并不是一个Thread,而是一个单纯的Java类,查看一下 ActivityThread 的源码final class ActivityThread,并没有继承Thread或者实现Runnable接口,ActivityThread 其中包含 main 方法,程序的入口地方,怎么看出来的呢? 我们开发过程中总会出现程序异常信息,细心看一下log,查看最下面的几行,最终问题出

2016-02-29 22:48:07

Kotlin + RxJava = Functional Powerhouse

原文链接 : Kotlin + RxJava = Functional Powerhouse 原文作者 : Thomas Nield 译文出自 : Hanks.xyz 译者 : hanks-zyh作为一个软件开发人员,我总是寻找方法来达到更少的代码做更多的事情。如果我只要修改一点代码就可以不断适应业务需求变化那就更好了,所以我必须把代码重写。Java语言一直是我的首选,因为它实用

2016-02-29 22:47:03

Ubuntu 14.04 搭建Swift3.0 开发环境

Swift已经出了3.0,开发文档有linux环境的,简单玩一下下载下载压缩包:https://swift.org/download/选择自己的环境,下载对应的压缩包,我这里下载 swift-DEVELOPMENT-SNAPSHOT-2016-02-25-a-ubuntu14.04.tar.gz 到~/Download/Swift 目录下 解压缩$ cd ~/Download/swift# 解压

2016-02-29 22:45:32

Android 动手实现热修复

有了前面文章的理论支持,下面动手自己写一下热修复.

2016-01-25 01:06:25

Android 热修复总结

前段时间热修复这个词非常火,当时只是大体看了一下,今天抽空好好看了一下具体原理. 什么是热修复?简单的说就是用户不用重新下载一个新的apk安装,而是直接下载一个补丁包,通过补丁来替换一些出现bug的类, 当然下载补丁的过程用户一般是感觉不到的,表面上看是直接修复了bug.原理类似与插件开发,关于插件开发原理,看这篇Android插件原理剖析,其中介绍了一下java中的类加载器和android中的类

2016-01-25 01:05:05

React-Native 鬼畜表情包app

QQ群,微信群,各种大神,各种表情,每到半夜,斗图大会,八仙过海,各显神通,良辰日天齐上阵。不服,下载鬼畜表情,参加到战斗中,无奈啊,app做的不是太方便,想起抓包把图片一下都下载下来,想起最近看到RN,正好练练手。 单文件批量抓取/** * Sample React Native App * https://github.com/hanks-zyh/233333 */'use stric

2016-01-25 01:03:38

Framework分析-Application的onCreate

ActivityThread并不是一个Thread,而是一个单纯的Java类,查看一下 ActivityThread 的源码final class ActivityThread,并没有继承Thread或者实现Runnable接口,ActivityThread 其中包含 main 方法,程序的入口地方,怎么看出来的呢? 我们开发过程中总会出现程序异常信息,细心看一下log,查看最下面的几行,最终问题出

2016-01-25 01:02:13

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!