public class ShakeInterpolator implements Interpolator {    @Override    public float getInterpolation(float timeElapsed) {        if (timeElapsed <= 0.25f)            return timeElapsed / 0.25f;        else if (timeElapsed <= 0.75f)            return 1 - (timeElapsed - 0.25f) / 0.25f;        else            return -1 + (timeElapsed - 0.75f) / 0.25f;    }}
public class ShakeAnimation extends Animation {    private float dx;    private float dy;    public ShakeAnimation(int dx, int dy) {        this.dx = dx;        this.dy = dy;    }    @Override    protected void applyTransformation(float interpolatedValue, Transformation transfer) {        Matrix matrix = transfer.getMatrix();        matrix.postTranslate(interpolatedValue * dx, interpolatedValue * dy);    }    @Override    public void initialize(int width, int height, int parentWidth, int parentHeight) {        setDuration(500);        setFillAfter(true);        setRepeatCount(-1);        setInterpolator(new ShakeInterpolator());    }}
            ShakeAnimation animator = new ShakeAnimation(200, 0);            layout.startAnimation(animator);

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 我对android的第一印象
  2. Android模仿Buttonbar(style="@android:st
  3. 一个简单的Android圆形ProgressBar
  4. Selector的一些state使用
  5. Android(安卓)保存文件路径
  6. Android(安卓)C 语言读取系统属性
  7. android 系统级 bug audio latency
  8. Android(安卓)jni系统变量、函数、接口定
  9. Android之UI学习篇七:ImageView实现适屏和
  10. Android中设置定时器