Android窗口抖动之动画实现



Android窗口抖动之动画实现

Android的窗口抖动,可以通过写xml动画配置文件实现,比如常见的微信摇一摇,其实就是通过Android动画的一些基本属性如translate,cycleInterpolator实现的。
现在写一个代码,实现一个基本的窗口view抖动的效果,简单期间,就以一个TextView为例,让其抖动。activity_main.xml代码文件:



    



测试的activity MainActivity.java:

package zhangphil.anim;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;

public class MainActivity extends Activity {

	private	TextView text;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		text=(TextView) findViewById(R.id.text);
	}

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

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int id = item.getItemId();
		if (id == R.id.action_anim) {
			
			Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.myanim);
			text.startAnimation(anim);
			
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}


TextView所在的布局文件及测试的Activity本身可以写的很简单,复杂的地方在res/anim目录下所写的那些动画属性配置文件。

res/anim目录下的myanim.xml文件代码:




    
    
    
    

myanim.xml代码文件需要用到的cycleInterpolator配置文件cycle.xml代码文件:



附录文章:
1,《Android动画循环弹动cycleInterpolator》链接地址:http://blog.csdn.net/zhangphil/article/details/49449935

你可能感兴趣的:(Android)