1. 一个好的程序员是那种过单行线马路都要往两边看的人。(Doug Linder) 2. 程序有问题时不要担心。如果所有东西都没问题,你就失业了。(软件工程的Mosher定律) 3. 程序员的麻烦在于,你无法弄清他在捣腾…
分类:Android
Glide加载圆形图片和圆角图片
一、简介: 介绍两种使用 BitmapTransformation 来实现 Glide 加载圆形图片和圆角图片的方法。Glide 并不能直接支持 Round Pictures ,需要使用 BitmapTransforma…
兼容性问题的两种策略
当我们处理兼容性问题的时候有两种策略可以选择,一种是回退,一种是复制. 回退是指,应用在新系统上用系统的特色功能及代码,而在旧系统上运行时,则回退使用早期的特色功能. 从技术的手段角度来说,这是通过在运行时检查SDK版本…
Error: Program type already present: android.support.v4.app.FragmentTransitionCompat21$1
参考链接 https://stackoverflow.com/questions/52845161/error-program-type-already-present-android-support-v4-app-fr…
初涉 GitHub + CircleCI
考虑到自己维护 Git 服务器的成本,以及国内的类 GitHub 平台的安全顾虑和对钩子、CI 等功能的支持度。。。最后我们团队还是用了 GitHub 的付费 plan。 CircleCI 有了 GitHub 这么屌的平…
RecyclerView自动滑动到指定的position
问题: 一般来说我们会使用RecyclerView的smoothScrollToPosition(int position) 方法来实现自动滚动,但是这个方法最大的问题就是,一旦目标position的item出现在屏幕中…
详解 groovy 的闭包(上)
groovy 的闭包特点 在 groovy 中的闭包。groovy 中的闭包是一个开放的匿名代码块,可以接受参数,返回值可以赋值给变量。 我们通常学习的 lamb 表达式是有一定封闭空间,无法访问闭包的变量 def gr…
迁移androidx问题解决方案整理
glide与jetpack冲突的问题 时间 2019-1-2 问题描述 glide compier生成的class文件中@NonNull注解的包名依然是 android.support.annotation.* 会提示a…
在代码中修改Shape的solid属性的color值
Android中Shape经常会被用到,今天遇到个问题,要动态修改Shape的背景颜色,记录一下. <shape xmlns:android="http://schemas.android.com/apk/res/…
设计模式之命令模式(Command Pattern)
“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实…
修改TabLayout Indicator的宽度
/** * 通过反射修改TabLayout Indicator的宽度(仅在Android 4.2及以上生效) */ private void setUpIndicatorWidth() { Class<?> …