这个小程序的功能在实际的开发中会用到,比如:设置Button左右晃动,或者上下的晃动效果,下面就给出示例代码。

首先:要定义一个xml文件,命名为Shake

[html] view plain copy

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <translate xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:fromXDelta="0"
  4. android:toXDelta="100"
  5. android:duration="1000"
  6. android:interpolator="@anim/cycle_7" />

接下来再定义一个xml文件,命名为cycle_7

[html] view plain copy

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:cycles="2"
  4. />

这两个xml文件都要建在,res文件夹下面的anim文件中,如果没有anim文件,可以自己建一个。

然后就是新建一个activity代码如下

[java] view plain copy

  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.view.View;
  4. import android.view.animation.Animation;
  5. import android.view.animation.AnimationUtils;
  6. public class MainActivity extends Activity {
  7. /** Called when the activity is first created. */
  8. @Override
  9. public void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.main);
  12. }
  13. public void go(View v){
  14. Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);//加载动画资源文件
  15. findViewById(R.id.tv).startAnimation(shake); //给组件播放动画效果
  16. }
  17. }

下面给出main.xml

[html] view plain copy

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical"
  6. android:gravity="center_horizontal|center_vertical"
  7. >
  8. <EditText
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:id="@+id/tv"
  12. android:text="wojiuahiswo"
  13. />
  14. <Button
  15. android:layout_width="fill_parent"
  16. android:layout_height="wrap_content"
  17. android:text="go"
  18. android:onClick="go"
  19. />
  20. </LinearLayout>

这样就实现了一个edittext控件的抖动效果,这里说明一下cycle_7.xml文件中Android:cycles="2" 这一项是设置抖动的次数的,2为抖动两次。而shake.xml中

android:fromXDelta="0" 
android:toXDelta="100"

是控制抖动的范围的,上面的代码是在x轴进行抖动,如果把x替换为y就是在y轴进行抖动,当然也可以在x,y轴同时抖动。

通用的Android控件抖动效果实现的更多相关文章

  1. Android群英传笔记——第三章:Android控件架构与自定义控件讲解

    Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...

  2. [Android Pro] android控件ListView顶部或者底部也显示分割线

    reference to  :  http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在 ...

  3. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  4. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

  5. 从Android系统出发,分析Android控件构架

    从Android系统出发,分析Android控件构架 Android中所有的控件追溯到根源,就是View 和ViewGroup,相信这个大家都知道,但是大家也许会不太清楚它们之间的具体关系是什么,在A ...

  6. Android控件系列之RadioButton&RadioGroup(转)

    学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握Ra ...

  7. android控件的属性

    android控件的属性 本节描述android空间的位置,内容等相关属性及属性的含义 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ( ...

  8. Android控件之ImageSwticher

    Android控件之ImageSwticher 1. ImageSwticher介绍 ImageSwitcher是图片切换的控件,它能实现图片切换时的动画效果,包括图片导入效果.图片消失效果等等.An ...

  9. 一步一步学android控件(之六) —— MultiAutoCompleteTextView

    今天学习的控件是MultiAutoCompleteTextView . 提到MultiAutoCompleteTextView 我们就自然而然地想到AutoCompleteTextView ,就想知道 ...

随机推荐

  1. plus、max、Pro、Edge

    plus.max.Pro.Edge等后缀到底什么意思? Plus:比好更好.比牛X更牛X 译成中文是:加.和.正的-的意思.比如oneplus中文名就是一加.用于手机命名表示配置更加牛X,最早是由iP ...

  2. lvs+keepalive构建高可用集群

    大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用的前端负载均衡器 一.前言        Keepalived使用的vrrp协议方式,虚拟路由 ...

  3. python 集合操作方法详解

    说集合之前,我们先说一个小例子,假设某公司有五个人喜欢打篮球,五个人喜欢打游戏,问即打游戏有打篮球 的人都有哪些? play_basketball = ['a','b','c','d','e'] pl ...

  4. Axure的中继器如何实现两个列表之间的交互

    Axure RP 8安装包+注册码+中文语言包下载地址如下: 链接: https://pan.baidu.com/s/1nwRnCUl 密码: yy36 将中文语言包下的lang文件夹直接放在安装Ax ...

  5. Django中url的生成过程详解

    在前面我们知道,Django启动之前会执行admin.py中的autodiscover()方法. def autodiscover(): autodiscover_modules('admin', r ...

  6. 用fiddler2调试localhost

    1.用 http://localhost. (locahost紧跟一个点号): 2.用 http://127.0.0.1. (127.0.0.1紧跟一个点号): 3.用 http://machinen ...

  7. SPOJ 1811 LCS [后缀自动机]

    题意: 求两个串的最大连续子串 一个串建SAM,另一个串在上面跑 注意如果走了Suffix Link,sum需要更新为t[u].val+1 Suffix Link有点像失配吧,当前状态s走不了了就到S ...

  8. C++ 关于字符串总结(持续更新)

    1.find_first_of size_type find_first_of( const basic_string &str, size_type index = 0 ); size_ty ...

  9. AMDP + XSLX Workbench 报表开发模式

    本文介绍了我和同事通过使用AMDP + XSLX Workbench缩短报表开发周期.分离数据查询处理逻辑和前端展示工作的经验.欢迎讨论. 前言 最近接到了一套人力资源报表的开发需求,需要以EXCEL ...

  10. yii2 源码分析 Component类分析 (二)

    转载请注明链接http://www.cnblogs.com/liuwanqiu/p/6739538.html 组件(component),是Yii框架的基类,实现了属性.事件.行为三类功能,它集成自o ...