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