ActionBar自定义样式总结

以下所有的配置都在 style.xml 中,使用 Theme.AppCompat 自定义 ActionBar 背景、标题字体样式(背景的自定义如果配合使用 Toolbar 完全可以设置 colorPrimary 属性,没必要用以下的方法) 123456789101112131415<style name="CustomActionBarT...

阅读全文

使用 SectionIndexer 实现微信通讯录的效果

最近在公司项目中看到用 SectionIndexer 来实现 ListView 的分组滚动实现通讯录导航的效果,这里我单独的写个 demo 出来。

SectionIndexer:根据官方文档说,它是一个给 Adapter 去实现、用来在 AbsListView 中实现 section 之间的快速滚动的接口(翻译拙计见谅)。一个 section 相当于一组具有共同特性的 list 数据。比如,它们有相同的首字母。

知道它的定义了,那怎么使用它呢?本人口拙,咱们还是上代码说话~

先看要实现的效果图:

SectionIndexerDemo.gif

阅读全文

如何写线程安全的单例模式

前几天面试要写一个单例模式,我想这还不简单,唰唰几下后面试官又抛出了问题:如何应对多线程并行使用的情况?oshit……之前写单例都没有特别考虑过线程安全的问题,当时我是在获取实例变量的方法改成了同步方法,面试官说这样并不高效,同步操作只会在第一次调用时才被需要。当时有点懵了,不知道怎么搞了,后来写了个饿汉式的单例模式给他……面试官也没深究下去,囧。 所以回来...

阅读全文

Android的tools命名空间使用详解-2

原文链接:https://medium.com/sebs-top-tips/tools-of-the-trade-part-2-b91271892d10 在上篇文章中我们了解到 tools 命名空间可以被用来只在写 xml 布局文件期间覆盖任何 attribute,也可以帮助我们更好地使用 Lint。当然,tools attributes 还有其他为我们...

阅读全文

Android的tools命名空间使用详解-1

想必 android 开发的小伙伴在布局文件中经常会看到 xmlns:tools="http://schemas.android.com/tools" 但是实际开发过程中我们却很少用到 tools 中的东西。 最近读了国外写的关于 tools 命名空间的博文,觉得很有必要写一篇中文版的。英文好的小伙伴直接去看原文吧~ 原文链接:http...

阅读全文

《黑客与画家》读书笔记

《黑客与画家》最近一口气把它读完了,感觉非常适合程序猿、互联网从业者、创业者去好好读一读。以下整理了我在阅读过程中记录的书摘,受益匪浅。 2 黑客与画家 再比如,我们使用代码的行数考核程序员的工作效率。这样的考核容易实施,而容易实施的考核总是首先被采用。 唯一有效的外部考核就是时间。经过岁月的洗礼,优美的东西生存发展的机会更大,丑陋的东西往往会被淘...

阅读全文

Java7中的NIO.2

Java7 对原有的 NIO 进行了重大改进,叫 NIO.2。 其中之一就是提供了全面的文件 IO 和文件系统访问支持,新增了 java.nio.file 包及各个子包。 NIO.2 引入了 Path 接口,Path 接口代表一个平台无关的平台路径;还提供了 Files、Paths 两个工具类,Files 包含了大量静态的工具方法来操作文件,Paths 则包...

阅读全文

Git简明指南&GitHub资料汇总

在网上找到一个都是大白话的 Git 指南,以及分享了自己收集的一些 GitHub 的学习链接。 git 简明指南 转自:http://rogerdudler.github.io/git-guide/index.zh.html 安装下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库创建新文件夹,打开,然后执行...

阅读全文

Markdown 技巧:两种方式实现页内跳转(转)

转自:http://ijtsai.com/2014/10/15/Markdown-jump/ 跳转到的地方 未看完全文请忽略这行:) 最近,无论是在博客园还是在自己的博客写文章,都是用的 MarkDownPad2 写的。喜欢 MarkDown 这种简单直观的写作方式。 但是写文章时,突然发现如果写了一篇很长的文章,要是没有目录的话。阅读起来十分不便。页...

阅读全文

使用 Github, Hexo 搭建博客

今天经过阅读大神们的博文总算通过使用 GitHub、hexo 搭建好了自己的博客。这里我梳理一下大致的搭建流程,具体的步骤可以参考文末的链接,自己懒得写了- -。。 安装Node.js 安装git 注册 GitHub 账号,建立与你用户名对应的仓库,仓库名必须为『your_user_name.github.io』或『your_user_name.githu...

阅读全文