仿照QQ抖一抖的实现——窗口抖动功能
来源:互联网 发布:windows激活密匙在哪里 编辑:程序博客网 时间:2024/05/29 17:05
现在QQ是越来越功能强大了,刚开始电脑端的窗口抖动也移植到手机端,其实它的实现方法倒不难,将整个窗口执行一个动画就OK了。
废话不多说,主要代码如下:
1、首先自己创建一个布局,重点是咱们要用到整个窗口,所以把最外层标签加上id吧。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/windowbackground" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/test" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="18dp" android:text="点击抖动" /></RelativeLayout>2、创建一个文件夹,注意,一定要是这个名字:anim 顾名思义,动画。
文件夹里有两个文件,cycle.xml
<?xml version="1.0" encoding="utf-8"?><cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="2"/>myanim.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@anim/cycle" > <translate android:duration="300" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="-10" android:toYDelta="-10" /> <translate android:duration="300" android:fromXDelta="0" android:fromYDelta="0" android:startOffset="300" android:toXDelta="10" android:toYDelta="-10" /> <translate android:duration="300" android:fromXDelta="0" android:fromYDelta="0" android:startOffset="600" android:toXDelta="-10" android:toYDelta="10" /> <translate android:duration="300" android:fromXDelta="0" android:fromYDelta="0" android:startOffset="900" android:toXDelta="10" android:toYDelta="10" /></set>
android:interpolator:被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。
这里用的是自定义的一个,其中CycleInterpolator 的含义是:动画循环播放特定的次数,速率改变沿着正弦曲线。自己想要其他的效果问百度吧,他知道的太多了~~
3、给咱们的按钮设置监听,代码如下:
final RelativeLayout window = (RelativeLayout) findViewById(R.id.windowbackground);Button button = (Button) findViewById(R.id.button);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.myanim);window.startAnimation(anim);}});
这样运行出来的就是窗口抖动的效果了。
代码0分拿走
0 0
- 仿照QQ抖一抖的实现——窗口抖动功能
- QQ中抖动窗口的实现方法
- Qt实现局域网聊天室:类似QQ抖动窗口功能的实现
- 实现 MSN QQ窗口抖动
- DOM案例实现页面窗口的抖动,跟QQ很像哦
- JavaScript实现的类似腾讯QQ聊天窗口抖动效果
- QQ中抖动窗口的vc++实现方法
- 抖动窗口的实现
- C#类似QQ窗体抖动功能的实现
- MFC实现 MSN QQ 窗口抖动
- MFC实现 MSN QQ 窗口抖动
- 类似QQ的窗口抖动效果
- 仿QQ窗口抖动
- 窗口抖动效果的实现
- 手机屏幕窗口抖动的实现
- 简单的窗口抖动——Animation
- 用程序实现自动给qq好友发窗口抖动
- 类似QQ的抖动窗体的实现
- ubuntu14.04 u盘安装教程
- 比树莓派配置好接地气的香蕉派上手初体验
- 如何检测浏览器是否支持HTML5
- 去掉手机 Update Devices Infomation
- WorldCount程序分析
- 仿照QQ抖一抖的实现——窗口抖动功能
- PAT 1064. Complete Binary Search Tree
- 百度实时推送代码 curl
- java transient简介
- 同义词的循环链
- 图像差分 (IplImage *) 版
- usb 枚举
- java学习笔记(二) -- 基本语法
- js 计时程序