分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
http://blog.csdn.net/long33long/article/details/7693671
最近闲来无聊,研究了一下IPhone桌面图标的抖动,网上有一个类似的事例,但是我看来效果实在不佳,自己也来写一个玩玩,当然代码很乱,杂乱无章,不满意的别骂我啊,当然也欢迎一起交流啊,嚯嚯
首先是JAVA代码ShakeTestActivity.java:
- package com.android.shake;
- import android.app.Activity;
- import android.os.Bundle;
- import android.util.DisplayMetrics;
- import android.view.animation.Animation;
- import android.view.animation.Animation.AnimationListener;
- import android.view.animation.RotateAnimation;
- import android.widget.TextView;
- import android.view.View;
- import android.view.Window;
- public class ShakeTestActivity extends Activity implements View.OnClickListener {
- private TextView mtv0;
- private TextView mtv1;
- private TextView mtv2;
- private TextView mtv3;
- private TextView mtv4;
- private TextView mtv5;
- private TextView mtv6;
- private TextView mtv7;
- private TextView mtv8;
- private TextView mtv9;
- private TextView mtv10;
- private TextView mtv11;
- private TextView mtv12;
- private TextView mtv13;
- private TextView mtv14;
- private TextView mtv15;
- private TextView mtv16;
- private TextView mtv17;
- private TextView mtv18;
- private TextView mtv19;
- private boolean mNeedShake = false;
- private boolean mStartShake = false;
- private static final int ICON_WIDTH = 80;
- private static final int ICON_HEIGHT = 94;
- private static final float DEGREE_0 = 1.8f;
- private static final float DEGREE_1 = -2.0f;
- private static final float DEGREE_2 = 2.0f;
- private static final float DEGREE_3 = -1.5f;
- private static final float DEGREE_4 = 1.5f;
- private static final int ANIMATION_DURATION = 80;
- private int mCount = 0;
- float mDensity;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.main);
- DisplayMetrics dm = new DisplayMetrics();
- getWindowManager().getDefaultDisplay().getMetrics(dm);
- if (dm != null) {
- mDensity = dm.density;
- }
- mtv0 = (TextView) findViewById(R.id.tv0);
- mtv0.setOnClickListener(this);
- mtv1 = (TextView) findViewById(R.id.tv1);
- mtv1.setOnClickListener(this);
- mtv2 = (TextView) findViewById(R.id.tv2);
- mtv2.setOnClickListener(this);
- mtv3 = (TextView) findViewById(R.id.tv3);
- mtv3.setOnClickListener(this);
- mtv4 = (TextView) findViewById(R.id.tv4);
- mtv4.setOnClickListener(this);
- mtv5 = (TextView) findViewById(R.id.tv5);
- mtv5.setOnClickListener(this);
- mtv6 = (TextView) findViewById(R.id.tv6);
- mtv6.setOnClickListener(this);
- mtv7 = (TextView) findViewById(R.id.tv7);
- mtv7.setOnClickListener(this);
- mtv8 = (TextView) findViewById(R.id.tv8);
- mtv8.setOnClickListener(this);
- mtv9 = (TextView) findViewById(R.id.tv9);
- mtv9.setOnClickListener(this);
- mtv10 = (TextView) findViewById(R.id.tv10);
- mtv10.setOnClickListener(this);
- mtv11 = (TextView) findViewById(R.id.tv11);
- mtv11.setOnClickListener(this);
- mtv12 = (TextView) findViewById(R.id.tv12);
- mtv12.setOnClickListener(this);
- mtv13 = (TextView) findViewById(R.id.tv13);
- mtv13.setOnClickListener(this);
- mtv14 = (TextView) findViewById(R.id.tv14);
- mtv14.setOnClickListener(this);
- mtv15 = (TextView) findViewById(R.id.tv15);
- mtv15.setOnClickListener(this);
- mtv16 = (TextView) findViewById(R.id.tv16);
- mtv16.setOnClickListener(this);
- mtv17 = (TextView) findViewById(R.id.tv17);
- mtv17.setOnClickListener(this);
- mtv18 = (TextView) findViewById(R.id.tv18);
- mtv18.setOnClickListener(this);
- mtv19 = (TextView) findViewById(R.id.tv19);
- mtv19.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- if (!mStartShake) {
- mStartShake = true;
- mNeedShake = true;
- shakeAnimation(mtv0);
- shakeAnimation(mtv1);
- shakeAnimation(mtv2);
- shakeAnimation(mtv3);
- shakeAnimation(mtv4);
- shakeAnimation(mtv5);
- shakeAnimation(mtv6);
- shakeAnimation(mtv7);
- shakeAnimation(mtv8);
- shakeAnimation(mtv9);
- shakeAnimation(mtv10);
- shakeAnimation(mtv11);
- shakeAnimation(mtv12);
- shakeAnimation(mtv13);
- shakeAnimation(mtv14);
- shakeAnimation(mtv15);
- shakeAnimation(mtv16);
- shakeAnimation(mtv17);
- shakeAnimation(mtv18);
- shakeAnimation(mtv19);