昨天因为的在微信朋友圈中炫耀了一下自己在家办公的图片,其中我的IDE不出意外的引起的大家的关注,然后有些人问我的Android Studio上编辑区的背景图片是怎么弄的。
那么好,今天写这篇文章来教大家让你的Android Studio性感起来。这里使用到的插件就是Sexy Editor。先上几张效果图。
这个是我在用的:
Android开发者
昨天因为的在微信朋友圈中炫耀了一下自己在家办公的图片,其中我的IDE不出意外的引起的大家的关注,然后有些人问我的Android Studio上编辑区的背景图片是怎么弄的。
那么好,今天写这篇文章来教大家让你的Android Studio性感起来。这里使用到的插件就是Sexy Editor。先上几张效果图。
这个是我在用的:
看完本文你大概需要 8.3分 的毅力
相关系列文章
上一篇文章讲了RecyclerView的布局流程,发现里面大多数内容都是和动画相关的。那么这边文章就先讲RecyclerView中,数据改变发出通知到播放动画的一系列流程。
对于RecyclerView的动画流程,是一个非常的长的流程,那么我们先把大的东西分部分来看,会轻松一点。首先,回想一下,我们通常在RecyclerView中数据改变的时候,调用什么函数来使其播放动画的。通常我们都是调用Adapter的以下函数。
阅读本文您大概需要3.75分钟。
相关系列文章
再上一篇文章中分析了RecyclerView的Measure过程。在Measure过程中的自动化Measure中,应用过布局流程的,得到Child的边界值,但是当时我们略过了,那么今天接着分析RecyclerView的布局过程。
阅读本文您大概需要4.33分钟。
相关系列文章
在上一篇文章中主要讲解了RecyclerView内部的大体设计结构。因为是从结构出发,所以多少对细节讲的云里雾里。那么从这一篇开始要落实到代码细节中了。
既然RecyclerView是一个GroupView,那么也就是一个View。那么View的绘制过程是measure到layout到draw的一个顺序。然而一个GroupView的目的是盛放其它View的,那么最主要的还是其measure和layout过程。那么我们今天就来看看RecyclerView的measure过程。
PS:源码版本为24.1.1,如果下面与你的源码有出入,请核实版本是否相同。
如果你这个时候也打开了源码,你应该会发现RecyclerView的onMeasure方法很长。那么我们先将其分情况讨论。
阅读本文你大概需要10分钟
扯淡的导语
好像自从RecyclerView这个控件一出现,对这个控件使用方法的文章就层出不穷。我是一只都在使用这个控件,但是从来没有过深入的研究它。对于这样一个人人吹捧的控件,怎能不去研究一下。本想找找现成的分析源码的文章,结果并没有如愿。以前都是指望老罗,现在要亲自动手了。我是一个坚持写干货的人,这一段你就当没看到。
RecyclerView这个控件出来已经有一段时间了,如果看这篇文章的你,还没有使用过这个控件。那请先去学习怎样使用。不然看也白看。这里奉上一些关于介绍RecyclerView使用方法的优秀博客:
Android中你还在使用HashMap<Integer,Object>
吗?
众所周知,当我们要维护一个整型到对象的映射关系的时候,想定义一个Map<int,Object>
会报错,我们必须使用Map<Integer,Object>
。
明明只需要使用一个整型数据,却要使用一个类。这并不是杀鸡用牛刀,而是一种浪费。
是不是很押韵。
SparseArray
,是android.util
包下的一个类,介绍是这样的:
SparseArrays map integers to Objects. Unlike a normal array of Objects, there can be gaps in the indices. It is intended to be more memory efficient than using a HashMap to map Integers to Objects, both because it avoids auto-boxing keys and its data structure doesn’t rely on an extra entry object for each mapping.
意思就是(翻译的不好,勿喷):
SparseArrays是一个整型到对象的映射,它不像一个正常的对象数组,在索引处可以是空的。他是为了比HashMap
提供更高的内存性能而设计的。原因有两点:
- 它避免了对key自动装箱操作;
- 每个映射关系也不是依赖额外的对象。
今天,2016年7月23日,就在去年今天,我入职了。
今天,2016年7月23日,我昨天发表的博客被推荐到简书首页,当日阅读量达到756次,收获68个喜欢,这还是第一次。
今天,2016年7月23日,公司2/3的人将会离职。
今天,2016年7月23日,昨天酒喝的多,今天起的却很早。
作为一个Android开发者,最常使用的就是Android Studio了,我在这里声明Android Studio比Eclipse好用100倍,不服来辩。本文用于纪录Android Studio中相见恨晚的操作,阅读本文大概需要不确定时间。(你难道就不边读边试试?)我会用尽量简单明了的语言介绍。PS:多图,流量用户慎入。
为了方便 老读者 阅读,我会将更新内容放在开头。
新用户 可以直接跳过该部分,该内容已经在文中同步更改。
更新日期 | 更新内容 | 备注 |
---|---|---|
2016/7/30 | 更新更简单的非空输入方法对象.nn |
|
更新Windows版查看类的继承关系快捷键Ctrl+H |
感谢3f76b4e62a13的补充 | |
更新活动模版查看和自定义入口Preference ->Editor ->Live Templates |
感谢Sacowiw的提供 | |
2016/7/25 | 更新大纲 Windows版快捷键Ctrl+F12 |
感谢Alex_Cin,bryanno1的提供和验证 |
遍历集合的时候,对象.for
就可以生成迭代循环遍历:
SharedPreferences是Android中存储数据的一种方式,它简单快捷,通常用于纪录一些配置设置信息,用起来非常爽。但也有不爽的地方就是要记录的东西多了就很乱。最近在整理项目代码的时候就发现了这个问题。先不扯淡,先温习总结一下SP的用法。
Android中得到SharedPrefernces方法的方法有三种。分别是:Context
滴getSharedPreferences(String name, int mode)
;Activity
滴getPreferences(int mode)
和PreferenceManager.getDefaultSharedPreferences(Context context)
;文章先介绍SharedPreferences的基本用法,然后在介绍三种方法的区别。
在应用发布的时候,可能面临多种渠道发布的问题,为了对不同渠道做统计,需要在应用中表明渠道,要是一个一个去改效率很低。Android Studio为我们提供了简便的方法。
通过快捷键Command+;
,或者通过File->Project Structure
的方法打开Project Structure对话框,然后选择上面的Flavors
标签,在里面添加渠道就可以了。见图: