2017-08-12 Lauzy
最近想写个音乐播放器,偶然看到轻听这款播放器的播放和暂停按钮,在切换过程中的动画很是吸引我。本着造轮子(其实是 github 上边没找到)的想法,就花了点时间撸出来了这个效果。 效果就是下边这个样子: more 下边说下实现方法,中间也踩了一些坑。 测量及初始化 首先要确实View的宽高,在这里由于是圆形按钮,所以设置宽高相等,onMeasure()方法中设置下即可: ```java mWidth = MeasureSpec.getSize(widthMeasureSpec); mHeight = MeasureSpec.getSize(heightMeasureSpec); int widt 继续阅读 »
2017-05-10 Lauzy
在项目开发中,大部分 Android 开发者都使用过 ButterKnife 这个通过注解简化代码的框架。部分 Android 开发者也使用过 xUtils 这种快速开发的框架。 两者均使用到了注解。在上一篇 Java注解、反射,安卓IOC(一) 中我们知道了注解及反射的用法。本篇会分别介绍下其实现机制。 运行时注解 首先我们自己简单实现类似 xUtils 这种运行时注解框架。 绑定 View 控件 创建注解: ```java @Retention(RetentionPolicy.RUNTIME)//运行时注解 @Target(ElementType.FIELD)//Target为属性 public @interface 继续阅读 »
2017-05-09 Lauzy
Java 注解 (Annotation) Java 注解,指的是代码里边的特殊标记,可以在编译、运行时被读取,并执行相应的处理。Annotation 可用于修饰包、类、构造器、方法、变量等。 more Annotation 类型 此处来一张网上的图 (可在新标签页中放大查看) 转自深入理解Java:注解(Annotation) 基本 Annotation Java中5个基本的注解分别为: - @Override ———— 用来限定子类重写父类的方法。 - @Deprecated ———— 标记已经过时的方法。 - @SuppressWarnings ———— 抑制编译器的警告。 - @SafeVararg 继续阅读 »