Lauzy's Blog

Life is like a box of chocolates.

自定义View:Android 歌词控件

简介之前做 TicktockMusic 音乐播放器,一个必要的需求肯定是歌词,在 github 上找了几个,发现或多或少都有点不满足需求,所以就自己动手写了一个。 先附上项目地址和效果图: 地址:https://github.com/Lauzy/LyricView 效果图: 需求歌词的需求我想大家都很清楚,简单的话,直接打开一个音乐播放器查看一下。我们打开后分析一下歌词的功能:歌词完整的显......

Android项目篇(二):开源库及工具的封装

在我们的项目中,总会不可避免的用到三方的开源项目。在开源库的选择上,我们一般会选择成熟稳定,不断更新,作者及时解决 issue 的项目。而且大部分开源项目开放的 api 已经非常方便,使用简单,容易入手。但是,在我们做项目的过程中,最好再将开源项目进行封装。本文以图片加载框架和工具的封装为例来讨论下封装的好处。 必要性1、统一入口,逻辑改动方便。2、若三方库停止维护或者业务不满足需求需要更换......

Android项目篇(一):项目架构-Clean Architecture

去年开始写一个音乐播放器 TicktockMusic ,当时计划是年前把项目和博客都写完,但是由于公司项目开启,平时比较累,加上项目期间的收获部分也应用到 TicktockMusic上边,功能写的较少,原有的东西改动较多,所以进度比较缓慢,直到年后才把剩余的部分功能写完(此项目主要用于学习交流,部分功能可能有所缺失),现在将项目的心得及体会写几篇博客来分享。本文先从项目的搭建及架构开始写起。......

Android自定义View:让播放、暂停按钮优雅的过渡

最近想写个音乐播放器,偶然看到轻听这款播放器的播放和暂停按钮,在切换过程中的动画很是吸引我。本着造轮子(其实是 github 上边没找到)的想法,就花了点时间撸出来了这个效果。 效果就是下边这个样子: 下边说下实现方法,中间也踩了一些坑。 测量及初始化首先要确实View的宽高,在这里由于是圆形按钮,所以设置宽高相等,onMeasure()方法中设置下即可: 123456789101112......

Java注解、反射,安卓IOC(二)

在项目开发中,大部分 Android 开发者都使用过 ButterKnife 这个通过注解简化代码的框架。部分 Android 开发者也使用过 xUtils 这种快速开发的框架。两者均使用到了注解。在上一篇 Java注解、反射,安卓IOC(一) 中我们知道了注解及反射的用法。本篇会分别介绍下其实现机制。 运行时注解首先我们自己简单实现类似 xUtils 这种运行时注解框架。 绑定 View ......

Java注解、反射,安卓IOC(一)

Java 注解 (Annotation)Java 注解,指的是代码里边的特殊标记,可以在编译、运行时被读取,并执行相应的处理。Annotation 可用于修饰包、类、构造器、方法、变量等。 Annotation 类型此处来一张网上的图 (可在新标签页中放大查看) 转自深入理解Java:注解(Annotation) 基本 AnnotationJava中5个基本的注解分别为: @Overr......

LBehavior

Android Design包下的CoordinatorLayout是相当重要的一个控件,它让许多动画的实现变为可能,而且更加简便。按照官方解释CoordinatorLayout是用来协调子View交互动作的父view,Behavior可以看做CoordinatorLayout的子view实现交互的组件。本篇博客主要用来实现仿知乎的Android客户端首页的滑动嵌套动画,前段时间利用空闲时......