Android实战简易教程-第六十七枪(android动画实现窗口抖动效果)

在制作引用是我们可以引入android动画,让用户感觉到交互性更强,下面我们通过一个实例讲解一下如何使用android动画实现窗口的抖动效果。

1.引入动画文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@anim/cycle"
    >
    <translate
        android:fromXDelta="0"
        android:toXDelta="-10"
        android:fromYDelta="0"
        android:toYDelta="-10"
        android:duration="300"/>
 <translate
        android:fromXDelta="0"
        android:toXDelta="10"
        android:fromYDelta="0"
        android:toYDelta="-10"
        android:startOffset="300"
        android:duration="300"/>
  <translate
        android:fromXDelta="0"
        android:toXDelta="-10"
        android:fromYDelta="0"
        android:toYDelta="10"
        android:startOffset="600"
        android:duration="300"/>
   <translate
        android:fromXDelta="0"
        android:toXDelta="10"
        android:fromYDelta="0"
        android:toYDelta="10"
        android:startOffset="900"
        android:duration="300"/>
</set>

2.布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="#FF6A6A"
    android:gravity="center">

    <RelativeLayout
        android:id="@+id/rel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/white" >

        <TextView
            android:id="@+id/edit"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="66dp"
            android:background="@drawable/abs" />

        <Button
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="66dp"
            android:text="点击抖动图片" />
    </RelativeLayout>

</RelativeLayout>

3.java文件,我们引入动画让relativelayout布局抖动起来:

package com.example.windowjitter;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.RelativeLayout;

/**
 * 窗口抖动
 *
 * @author yayun
 *
 */
public class MainActivity extends Activity {

	private RelativeLayout rel;
	private Button btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		rel = (RelativeLayout) this.findViewById(R.id.rel);
		btn = (Button) this.findViewById(R.id.btn);
		btn.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				Animation anim = AnimationUtils.loadAnimation(
						MainActivity.this, R.anim.myanim);
				rel.startAnimation(anim);
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}

运行实例如下:

左边栏欢迎关注我的博客!

源码下载

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-05 21:49:40

Android实战简易教程-第六十七枪(android动画实现窗口抖动效果)的相关文章

Android实战简易教程-第六十三枪(动画实现唱片播放界面)

对于Android动画的使用,唱片播放是十分经典的一例,我们通过实现唱片播放效果来对Android动画进行学习,具有很高的趣味性和实用性. 1.首先我们定义一下布局文件-pan_layout.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and

Android实战简易教程-第五十七枪(分享小米手电筒源码)

手电筒功能实现简单很实用,下面我们就来研究一下如何自制一款手电筒小程序,初学者可以通过实例了解原理,提高学习android技术的热情和动力. 首先我们了解一下手电筒要调用哪些android权限: <!-- 打开Camera的权限 --> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.

Android实战简易教程-第三十七枪(ListView中点击button跳转到拨号界面实例)

最近讨论了一个项目需求,在ListView的Item中放置了一个类似电话的图标,点击图标可以将号码调到拨号界面.实现起来很是容易,原理也易懂,较为实用,项目中有需要的可以直接引入. 我模拟了一个简单的demo.代码如下: 1.ListAdapter.java: package com.example.listviewphone; import java.util.List; import android.content.Context; import android.content.Intent

Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)

一般在外卖的选单中常常会用到ListView的多选,大家可以改进后加入自己的项目中.下面看一下代码: 一.代码 1.main.xml:(由一个ListView和一个Button组成) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layo

Android实战简易教程-第六十枪(分享一个城市选择功能模块)

在做一些APP的时候可能会用到城市选择模块的功能,本实例可以提供位置自定定位和手动选择的功能,非常好用,大家可以修改后加入自己的项目中. 首先看一下效果: 1.进入有的手机可能会提示权限要求,这时我们选择允许. 2.选择允许后进入: 这个位置可以看到我们的城市已经通过GPS获取到了 点击这个控件,城市获取完成了: 下面我们看一下关键代码如何实现这个功能效果. 1.MainActivity.java: package com.winxiang.locationselect; import andr

Android实战简易教程-第四十枪(窃听风云之短信监听)

近期在做监听验证码短信自己主动填入的功能,无意间想到了一个短信监听的办法. 免责声明:短信监听本身是一种违法行为,这里仅仅是技术描写叙述.请大家学习技术就可以.(哈哈) 本实例是基于bmob提供的后台服务,将监听到的短信自己主动上传到bmob数据库中. 一.代码实现: 1.首先实现javabean对象. package com.example.messagecut; import cn.bmob.v3.BmobObject; public class MsgContent extends Bmo

Android实战简易教程-第二十八枪(Uri转String型实例)

接上一篇文章.我们能够轻易的获取所选图片的uri,那么我们考虑怎样将获取的uri转换成String型的地址呢? 接下来我们通过实例来研究.布局文件和上篇(二十七枪)一致,我们就不再列出,直接看MainActivity.java: package com.example.userphoto; import java.io.File; import android.app.Activity; import android.content.Intent; import android.database

Android实战简易教程-第五十枪(工具类的测试)

在开发中,为了提高开发效率,我们一般会自定义自己的工具类.为了保证项目的可靠性,在将工具类引入项目之前,我们一般都会对工具类进行单元测试,下面我们通过一个实例看一下如何搭建测试环境. 1.首先自定义一个工具类,这里我们自定义了一个连接图灵机器人API的网络测试类: package com.yayun.chatrobot.utils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.I

Android实战简易教程-第三十枪(实例解析Application的用法)

一.Application类 Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息. Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类. 通常我们是不需要指定一个Application的,系统会自动帮我们创建,如果需要创建自己的Application