flutter: 深入通信-发送端

1
2
sdk: [v1.5.4-hotfix.1](https://github.com/flutter/flutter/commit/7a4c33425ddd78c54aba07d86f3f9a4a0051769b)@stable
engine: [52c7a1e849a170be4b2b2fe34142ca2c0a6fea1f](https://github.com/flutter/engine/commit/52c7a1e849a170be4b2b2fe34142ca2c0a6fea1f)

read more

臭狗屎堆里的码畜人生

一个文案不对也要提个bug,提提提,提你妈了个逼的,全是因为针对开发的傻逼标准:bug率。这种错误有什么关系?!说一下一改不就完了么,明知bug率是标准提什么提,互相为难很有意思?我现在就把这个没写“距您”的文案带到线上我看pv能降个多少!

read more

一劳永逸——RecyclerView无类型强转的通用ViewHolder

我们知道在一般的列表视图(recyclerView)中绑定不同类型的列表项子视图是通过各种类型的ViewHolder(比如recyclerView.ViewHolder). 不同数据对不同视图控件的操作是以实现各种ViewHolder子类的方式实现的.
能不能只用一种类型的视图来涵盖所有的ViewHolder类型? 听起来有些不可思议, 每种ViewHolder需要绑定的控件千差万别, 怎么抽象这些控件呢? 但实际上是可以实现的.

read more

动态切换的动态代理

名字看着有点绕, 但目的其实很简单明确: 就是想实现动态代理的对象实例, 在运行时也能够切换.
先理解前提条件和程序上下文, 譬如有如下接口:

read more

Android计算文本宽度的坑

想实现自动缩放字体大小的功能,无论用第三方的控件还是AppCompatTextView都遇到一个问题:在滚动列表视图中显示有问题,在滚动过程中,明明有更大空间却用了一个小字体。没有时间细查实现,想着很简单就造个轮子。
想法很简单:计算每个非目标child的wrap_content宽度,用父宽度减去得availableWidth,再计算目标child的宽度,如果超过就减小字体值,直至合适的字体大小值出现。
然而实现后实际宽度比预期少那几个像素,使得相邻的文本折行了。

read more

RecyclerView区分视图类型的Divider

我们都知道support库有一个DividerItemDecoration, 可以作为Item之间的分隔线(divider)。但它作用以后所有的item之间都会有这个分隔线,实际情况往往是:recyclerView中存在多种的视图类型(viewType), 我们只是需要在某一类型的视图后添加分隔线。
要实现这种分隔线效果并不是什么难事,既然是某一类型有这个分隔线,那在直接在这种视图的layout文件上增加如下一个bottomLine界面元素妥妥的:

read more

只包裹文本的BackgroundColorSpan

BackgroundColorSpan可以实现文本加底色的一个效果,没有问题,然而问题是文本增加间距的时候效果会变成这样:

所以我们期望达到的效果是一个只包裹文本的的背景底色。
研究了一下,发现必须得到文本相关的信息,才能在指定的位置填充颜色,所以无法再利用BackgroundColorSpan这个类了,而要用ReplacementSpan,于是有:

read more

dark
sans