Android兑现界面组件的抖动效果

Android实现界面组件的抖动效果

Android实现界面组件的抖动效果采用的Animation动画, 在系统提供的API Demos:

目录为  \android-sdk\samples\android-8\ApiDemos 中已经实现了简单的抖动效果 :


具体使用如下:

第一步:准备两个动画效果的XML文件,加入到 res/anim/目录下:


Shake.xml文件:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:toXDelta="10"
    android:duration="1000"
    android:interpolator="@anim/cycle_7" />

cycle_7.xml文件:

<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="7" />

第二步: //代码使用动画效果:

 

        Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);//加载动画资源文件
        findViewById(R.id.xxxx).startAnimation(shake); //给组件播放动画效果

 

 

 

-------------------------------------------------------------

移动开发者大会:Android开发者将越来越赚钱    海量Android教程、开发资料和源码

10类最急需IT人才:Java开发者居首                   给将成为“Android高手”的10个建议 

成为Java高手的25个学习目标--非常经典            Android 4.1果冻豆新特性详解 

芯片巨头海思和展讯:给中国芯片业带来信心     海量经典Java教程、学习资料和源码

Java侵权诉讼Google获胜,Android厚积薄发        面试必备:Android笔试总结 

Android高手必须掌握的28大内容和10个建议     Android平台研发人才缺口30万 

Android开发环境安装和配置步骤详细图解         2012国内移动App开发者大调查结果 

Windows 7下搭建android开发环境步骤图解      Android 4.0的30个突出的新特性 

Android高手要经过的6个阶段和6个境界            linux下搭建Android开发环境步骤 

从IT菜鸟变为“IT骨干开发者”的11个建议        程序员编程技术迅速提高的终极攻略 

2012世界各国人均GDP排名,中国超泰国           2012年全国各省平均工资排行 

2012年中国大学高校排行榜(580强排名)      中国各省市面积和人口数量排名 

中国百万开发者大调查:程序员的薪水不错      Java高手需要越过的10座高山

周立功谈嵌入式:我的25年嵌入式生涯            Android和Java语言的异同和关系 

华为中国区手机销量达千万,80%为智能机        谷歌Android碎片化严重

2012年中国各省GDP和人均GDP排名              90后就业“钱景”:IT仍是最佳选择

2012全球城市竞争力500强,69个中国城市上榜   不要做浮躁的软件工程师 

2012年世界500强,79家大陆香港*公司上榜名单  给IT新兵的15个建议 

美国知名科技公司入门级软件工程师的薪水排名  回顾Java经过的风风雨雨 

71道经典Android面试题和答案--重要知识点都涉及到了 

高校应届毕业生“IT业”收入最高,Android技术最热门 

 

 


2楼a383028663昨天 14:40
问一下如果想要达到一种乱甩的效果(也就是方向是随机的而不是跟这个例子一样只能横向抖动,就好像QQ有人给你发言时对方头像会任意方向抖动)不用自己绘图利用官方的动画API能实现吗?
1楼a383028663昨天 14:37
另外我也给出这种抖动效果的代码版,因为毕竟XML上的写得比较死,用代码的话就可以随意改变动画里的各种参数值了nnTranslateAnimation translate = new TranslateAnimation(0, 10, 0, 0);ntranslate .setDuration(1000);ntranslate .setInterpolator(new CycleInterpolator(7));nview.startAnimation(translate);