Android控件晃动效果实现

原创 2016-08-12 亚运 Android学习交流

动画是android中的重要组成部分,可以让APP的交互更有趣味性,今天介绍的这个小实例可以用于提醒功能。首先看一下效果如下:

这个效果也可以用在密码错误时的提示,下面看一下代码:

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">

    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:onClick="shake"        android:padding="10dp"        android:text="控件晃动"        android:textSize="18sp" />

    <ImageView        android:id="@+id/image"        android:layout_width="110dp"        android:layout_height="110dp"        android:layout_centerInParent="true"        android:background="@mipmap/ic_launcher" /></RelativeLayout>

MainActivity.java:

package com.example.administrator.myapplication;

import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.CycleInterpolator;import android.view.animation.TranslateAnimation;import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {    private ImageView mImageView;

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mImageView = (ImageView) findViewById(R.id.image);    }

    public void shake(View view) {        mImageView.startAnimation(shakeAnimation(5));    }

    public Animation shakeAnimation(int CycleTimes) {        Animation translateAnimation = new TranslateAnimation(0, 10, 0, 10);        translateAnimation.setInterpolator(new CycleInterpolator(CycleTimes));        translateAnimation.setDuration(1000);        return translateAnimation;    }}

这里用到了TranslateAnimation,这里用到的构造方法如下:

TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)

其中四个参数的含义如下:

float fromXDelta:这个参数表示动画开始的点离当前View X坐标上的差值;

  float toXDelta, 这个参数表示动画结束的点离当前View X坐标上的差值;

  float fromYDelta, 这个参数表示动画开始的点离当前View Y坐标上的差值;

  float toYDelta)这个参数表示动画开始的点离当前View Y坐标上的差值;

如果view在A(x,y)点 那么动画就是从B点(x+fromXDelta, y+fromYDelta)点移动到C 点(x+toXDelta,y+toYDelta)点。

最后调用startAnimation并传入TranslateAnimation对象启动动画。

Android控件晃动效果实现相关推荐

  1. Android控件Gallery3D效果

    贴上代码: 1.扩展Gallery: 查看源码 打印? 001 public class GalleryFlow extends Gallery { 002     private Camera mC ...

  2. Android控件Gallery3D效果 .

    贴上代码: 1.扩展Gallery: public class GalleryFlow extends Gallery {     private Camera mCamera = new Camer ...

  3. Android控件扫光动画,完美起航-AndroidTV控件获得焦点的扫光效果

    目录 前言 Android TV开发与手机开发最大的不同点就是焦点,TV常用的操作方式是遥控器,所以给用户一个醒目美观的焦点是至关重要的.很多产品经理在设计焦点的时候都会选择扫光的效果,比如小牧电视的 ...

  4. Android控件默认点击效果

    Android控件默认点击效果 Android最简单的默认点击效果: android:background="?android:attr/selectableItemBackground&q ...

  5. Android控件点击圆形阴影反馈解决方案

    Android控件点击圆形阴影反馈解决方案 愿景 对于手机App而言,没有反馈效果的按钮使用体验是不舒服的.最近在深入学习Material Design,对其中的ripple效果比较感兴趣.我想着尝试 ...

  6. 【079】用代码来创建 Android 控件

    一般来说我们在创建控件的时候都是在 XML 文件中完成的, 实施起来还是蛮方便的, 而且修改起来也可以很快的看见效果, 但是有一个很大的劣势就是没办法动态的创建控件, 举个例子, 例如我从数据库中取出 ...

  7. android控件属性

    android控件属性 控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false an ...

  8. Android控件系列之RadioButtonRadioGroup

    2019独角兽企业重金招聘Python工程师标准>>> 学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用 ...

  9. 【Android】关于Android控件EditText的属性InputType的一些经验

    关于Android控件EditText的属性InputType的一些经验   来源:http://blog.163.com/inflexible_simple/blog/static/16769468 ...

最新文章

  1. 周志华《机器学习》课后习题(第三章):线性模型
  2. mysql的连接名是哪个文件_mysql连接名是什么
  3. 记录工作中用到的日期转换方法
  4. 编程基本功:给不同的电脑贴标
  5. Inav Configurator给F4刷固件进入不了DFU
  6. matlab插值计算
  7. 软件工程之高质量代码(编码规范)
  8. 免费内网穿透远程访问家里的监控
  9. 关于 Windows 10 下原生输入法输入字母和数字时字间距突然变大的解决方法
  10. 读书笔记:《钱穆-zg历代zz得失》
  11. ext2和ext3的主要区别
  12. 芯片封装中的POD是什么意思?用在哪里
  13. 压力测试、负载测试、渗透测试、容量测试、敏感度测试
  14. 中国储物篮市场运营状况及投资经营分析报告 2022-2027年版
  15. 访问认证(三):Bearer
  16. 【Proteus仿真】基于74LS148+74LS279+74LS48的四路抢答器
  17. 苹果签名服务商必看!苹果企业签名去哪里找客户?
  18. 第一章计算机网络概述
  19. Nginx---常用命令(三)
  20. html搜索框怎么设置透明度

热门文章

  1. 【一起diy】AI智能垃圾分类箱
  2. 优秀的流程图应该怎么设计呢?
  3. Redis快速入门——你确定不来瞅瞅?
  4. 科普篇 | 智能合约编译兴趣小组(CTSC-SIG)
  5. bzoj1921 CTSC2010 jewelry
  6. 跳槽时如何善用猎头资源,职场人了解一下
  7. 图的创建(五种创建方式)
  8. com组件 安全提示_CDE 解读化学药品注射剂生产所用的塑料组件系统相容性研究技术指南(试行)...
  9. Too-big precision 7 specified for 'CREATE_TIME'. Maximum is 6.
  10. 探索接口自动化(二)--接口联调(Python)