小松的技术博客

六和敬

若今生迷局深陷,射影含沙。便许你来世袖手天下,一幕繁华。 你可愿转身落座,掌间朱砂,共我温酒煮茶。

Tag: Android开发

  1. TextView文本高亮与点击行为完美封装

    对于一个社交性质的App,业务上少不了给一段文本加上@功能、话题功能,或者是评论上要高亮人名的需求。当然,Android为我们提供了ClickableSpan,用于解决TextView部分内容可点击的问题,但却附加了一堆的坑点: ClickableSpan 默认没有高亮行为,也不能添加背景颜色; ClickableSpan 必须配合 MovementMethod 使用 一旦使用 MovementMethod,TextView 必定消耗事件 当点击ClickableSpan时,Text…

    Android开发 继续阅读
  2. Android沉浸式状态栏必知必会

    Android状态栏默认是固定的黑底白字,这肯定是不被伟大的设计师所喜爱的,更有甚者,某些时候设计希望内容能够延时到状态栏底部(例如头部是大图的情况)。所幸的是随着Android版本的迭代,开发者对状态栏等控件有了更多的控制。Android一直在尝试引入新的Api来满足开发者的需求,但Api却一直不够完美,接口添加了很多,却都不够简单或者说完美,算上第三方厂商的特色行为,怎一个“乱”字了得 Android完美的沉浸式需要多个接口配合使用才能完成,我们需要去了解android各个版本引入的Api的…

    Android开发 继续阅读
  3. 玩转Android嵌套滚动

    在Android UI开发过程中,经常会遇到嵌套滚动的需求,所谓嵌套滚动,就是父view可以滚动的情况下子view也可以滚动,例如下拉刷新(PullToRefresh)。 在微信读书之前的版本中,书籍讨论圈有一个比较复杂的嵌套滚动的例子,我把它抽取出来作为今天讲解的例子: 这个例子的嵌套比较复杂,上方的header为书籍封面,下方是一个ViewPager+TabLayout组成的容器(下文简称VT容器),ViewPager中的三个item为三个列表,也是可以滚动的。业务需求是: VT容器可以滚动…

    Android开发 继续阅读
  4. 教你自定义android中span

    在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗、改变颜色、加链接、下划线等。iOS为我们提供了AttributedString,而Android则提供了SpannableString。今天我们就来看看SpannableString的主角span。 在Android的android.text.style包下为我们提供了各种各样的span,如:ForegroundColorSpan、ImageSpan、ClickableSpan等等。网上已经有着很多使用这…

    Android开发 继续阅读
  5. Java注解与代码生成

    java是一门静态语言,语言层面缺乏灵活性,这使得我们项目中很容易出现大量重复的代码。虽然这些重复代码必不可少,但我们也不想用粘贴复制来解决问题,所以我们希望通过代码自动生成的方式来提高我们的工作效率。C#有非常棒的生成工具CodeSmith,而java我们可以借助注解来完成代码生成工作。 Java注解 java注解是java5引入的功能,我们能够经常看到,如@Override,但未必对其有深入的了解。了解这方面的知识有助于我们深入理解一些框架,比如ButterKnife、Dragger、Ret…

    Android开发 继续阅读