简介
public final class Space extends View
Space是一个轻量的View,可以在布局中被用来创建间隙,常用于布局优化。
介于可能很多人根本不知道Space的存在!所以稍微提一下它的使用场景,比如以下场景的右侧小三角,就可以使用Space:

在两个三角之间放置一个Space,两三角分别位于它的上下,控制它的高度就能控制三角之间的间隔。
public final class ViewStub extends View
ViewStub 是一个宽高都为0,不可见的(GONE),不参与measure与layout(绝大部分情况),不绘制任何东西,可以用来做懒加载的View,常用于布局优化;
PS: 为什么说绝大部分情况不参与测量与布局呢?因为大部分ViewGroup对于GONE的View,都不会让它参与测量与布局流程(自定义的就不一定了,另外可以看一下FrameLayout的源码)。
首先需要说的是,本文涉及到两个角色,一个是 ViewStub本身,另外一个是被用来做懒加载的View,是ViewStub的作用对象,称之为『StubbedView』(本文用此称呼来替代)。
那么 ViewStub 是怎么实现懒加载的呢?
本文通过ViewStub源码来分析。
注:本文基于 Retrofit2.0版本,并配合 RxJava 来分析。
com.squareup.retrofit2:retrofit:2.0.0
com.squareup.retrofit2:converter-gson:2.0.0
com.squareup.retrofit2:adapter-rxjava:2.0.0
Retrofit adapts a Java interface to HTTP calls by using annotations on the declared methods to how requests are made.
本文主要通过分析 Retrofit 与 RxJava 的合作流程 来深入理解 Retrofit的工作原理,并且解答自己心中的疑惑。
在 Android 开发中,通常会吧文本放在 strings.xml 文件中,然后再引用。
有时候,有些需求需要修改文本中的部分字的字体颜色,可以用以下方式修改:
修改原本的strings.xml:
1 | <string name="hh_no_order"><![CDATA[sorry,没有任何订单,<font color="#fc2a56">前往买买买</font>]]></string> |
代码中的使用需要配合Html.fromHtml(),如:
1 | mTvTip.setText(Html.fromHtml(mTips)) |
最终效果图为:

# RTFSC
Read The Fucking Source Code
RTFSC
随着做Android开发时间越来越久,看别人的文章博客对自己的收益越来越少,以前看10篇文章,可能9篇对自己有用,后来慢慢减少,8 7 6..1 。
再加上现在国内的风气不好,标题党特别多,质量好的文章太少,在茫茫文章中获取有用信息变得越来越困难。
投入与回报不成比例,所以需要换一种方式去学习。
现在我更推荐看书以及阅读源码。
相对于看文章,看书有利于系统的学习,看源码的好处更是多多。
书也是有好有坏,关于书籍,我有一个记录读书笔记的项目ReadingNotes,记录读书笔记,也有些扩展,对书籍也有一个相对比较客观的评价,或许可以帮到你,这里就不多说了。