开篇废话 根据第一篇的规划,趁着周日的空闲时间,认真查阅了UI布局优化的一些知识,在这里总结一下,写这篇文章的最终目的是希望能给从用户最直观的体验部分进行有效的UI优化,使用的方法是从实际操作到原理解说,做到知其然,且知…
分类:移动开发
使用RecyclerView打造一个相片廊
这次我们使用RecyclerView这个强大的控件来实现一个相片廊,就是长这个模样 photogallery.gif 一.自定义一个View继承RecyclerView public class PhotoGallery…
DataBinding 学习系列(4)DataBinding的高级功能
前言# 前几篇已经DataBinding的基础用法已经介绍的差不多了,所以接下来感受一下DataBinding强大的高级功能。 正文# DataBinding可以通过注解,实现很多强大的功能,并且十分的方便,能够帮助我们…
Handler与Looper方法源码解析
概述 先看一个Android中的HandlerThread是如何使用Looper的。 public class HandlerThread extends Thread { @Override public void r…
Gradle 学习(1)
Gradle的出现让构建系统不再依赖IDE。它有约定优于配置的原则,会给设置和属性提供默认值。它基于Groovy领域专有语言。他只是一个框架,一个空壳,真正的打包等工作都是运行给定的插件来实现的,比如安卓的gradle …
来来来,随老夫撸一个支付宝玩玩——自定义Behavior的正确打开方式
最近在和项目经理都斗智斗勇的时候,突然被甩过来一个类似支付宝首页的功能需求,虽然网上有一些类似的功能,但是都是以前比较老一些的版本,于是决定自己来定制一个,老规矩,先上图 GIF.gif 要实现这样一个效果,首先想到的自…
React Native —— 搭建开发环境、创建Hello World
前言 React Native(简称RN)从诞生以来,就受到了广大开发者的追捧。相比于Native开发,RN开发更为灵活,而且支持跨平台(Android和iOS同时支持),也更方便热更新,最重要的是它基本上能够达到与Na…
一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP
前言 现在越来越多的项目都开始使用MVP + Rxjava2 + Retrofit2 + Dagger2 框架了,然鹅我还是一知半解, 这些东西对于木有用过的同学们还是比较头疼的。当然网上有很多教程供我们学习,虽然他们都…
迭代器模式
迭代器模式介绍 定义 提供一种方法访问一个容器中的元素,而又不暴露该对象的内部细节. 使用场景 遍历一个聚合对象,但是目前,java中有Collection集合,我们可以直接使用. 优点: 迭代一个对象时候,无需修改源代…
Java常见排序算法详解——冒泡排序
转载请注明出处:[https://www.jianshu.com/p/df900e6ddbac 我们在面试的时候时常会问到我们算法题,而算法题当中排序算法题是问到最多的。应广大同学的建议,我特意整理了一下Java常见的排…
Android AOP三剑客之Javassist
前言 本章节更新的慢了些,最近公司多事之秋,今天静下心来把AOP最后入门篇补上,做事还要有头和尾的。 Javassist Javassist作用是在编译器间修改class文件,与之相似的ASM(热修复框架女娲)也有这个功…
Android自定义View实现拖动吸附效果
night_rain.png 自定义View,一是为了满足设计需求,二是开发者进阶的标志之一。随心所欲就是我等奋斗的目标!!! 效果 拖动按钮 实现逻辑 明确需求 1、实现控件跟随手指拖动 2、实现控件自动贴边 整理思路…