android微信摇一摇(抽奖)

android微信摇一摇(抽奖)

package com.example.sensoreventlistenertest;    import java.util.Random;  import com.example.sensoreventlistenertest.ShakeListener.OnShakeListener;  import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Vibrator; import android.app.Activity; import android.content.Intent; import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.TranslateAnimation; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.SlidingDrawer; import android.widget.Toast; import android.widget.SlidingDrawer.OnDrawerCloseListener; import android.widget.SlidingDrawer.OnDrawerOpenListener;   public class MainActivity extends Activity{ 	 	ShakeListener mShakeListener = null; 	Vibrator mVibrator; 	private RelativeLayout mImgUp; 	private RelativeLayout mImgDn; 	private RelativeLayout mTitle; 	 	private SlidingDrawer mDrawer; 	private Button mDrawerBtn;  	@Override 	public void onCreate(Bundle savedInstanceState) { 		// TODO Auto-generated method stub 		super.onCreate(savedInstanceState);	 		setContentView(R.layout.activity_main); 		 		//drawerSet ();//设置  drawer监听    切换 按钮的方向 		 		mVibrator = (Vibrator)getApplication().getSystemService(VIBRATOR_SERVICE); 		 		mImgUp = (RelativeLayout) findViewById(R.id.shakeImgUp); 		mImgDn = (RelativeLayout) findViewById(R.id.shakeImgDown); 		mTitle = (RelativeLayout) findViewById(R.id.shake_title_bar); 		 		mDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer1);         mDrawerBtn = (Button) findViewById(R.id.handle);         mDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() 		{	public void onDrawerOpened() 			{	 				mDrawerBtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.shake_report_dragger_down)); 				TranslateAnimation titleup = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,-1.0f); 				titleup.setDuration(200); 				titleup.setFillAfter(true); 				mTitle.startAnimation(titleup); 			} 		}); 		 /* 设定SlidingDrawer被关闭的事件处理 */ 		mDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener() 		{	public void onDrawerClosed() 			{	 				mDrawerBtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.shake_report_dragger_up)); 				TranslateAnimation titledn = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,-1.0f,Animation.RELATIVE_TO_SELF,0f); 				titledn.setDuration(200); 				titledn.setFillAfter(false); 				mTitle.startAnimation(titledn); 			} 		}); 		 		mShakeListener = new ShakeListener(MainActivity.this);         mShakeListener.setOnShakeListener(new OnShakeListener() { 			public void onShake() { 				//Toast.makeText(getApplicationContext(), "抱歉,暂时没有找到在同一时刻摇一摇的人。
再试一次吧!", Toast.LENGTH_SHORT).show(); 				startAnim();  //开始 摇一摇手掌动画 				mShakeListener.stop(); 				 				startVibrato(); //开始 震动 				new Handler().postDelayed(new Runnable(){ 					@Override 					public void run(){ 						//Toast.makeText(getApplicationContext(), "抱歉,暂时没有找到
在同一时刻摇一摇的人。
再试一次吧!", 500).setGravity(Gravity.CENTER,0,0).show(); 						Random r=new Random(); 						int num=(int )((Math.random())*10); 						Toast mtoast; 						mtoast = Toast.makeText(getApplicationContext(), 							     "恭喜您获得"+num+"个签到积分,积分兑换,更有礼品相送", 10); 							   //mtoast.setGravity(Gravity.CENTER, 0, 0); 							   mtoast.show(); 							   mVibrator.cancel(); 							   mShakeListener.start(); 					} 				}, 2000); 			} 		});    } 	public void startAnim () {   //定义摇一摇动画动画 		AnimationSet animup = new AnimationSet(true); 		TranslateAnimation mytranslateanimup0 = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,-0.5f); 		mytranslateanimup0.setDuration(1000); 		TranslateAnimation mytranslateanimup1 = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,+0.5f); 		mytranslateanimup1.setDuration(1000); 		mytranslateanimup1.setStartOffset(1000); 		animup.addAnimation(mytranslateanimup0); 		animup.addAnimation(mytranslateanimup1); 		mImgUp.startAnimation(animup); 		 		AnimationSet animdn = new AnimationSet(true); 		TranslateAnimation mytranslateanimdn0 = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,+0.5f); 		mytranslateanimdn0.setDuration(1000); 		TranslateAnimation mytranslateanimdn1 = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,-0.5f); 		mytranslateanimdn1.setDuration(1000); 		mytranslateanimdn1.setStartOffset(1000); 		animdn.addAnimation(mytranslateanimdn0); 		animdn.addAnimation(mytranslateanimdn1); 		mImgDn.startAnimation(animdn);	 	} 	public void startVibrato(){	 		MediaPlayer player; 		player = MediaPlayer.create(this, R.raw.awe); 		player.setLooping(false);         player.start();  		 		 		//定义震动 		mVibrator.vibrate( new long[]{500,200,500,200}, -1); //第一个{}里面是节奏数组, 第二个参数是重复次数,-1为不重复,非-1俄日从pattern的指定下标开始重复 	} 	 	public void shake_activity_back(View v) {     //标题栏 返回按钮       	this.finish();       }   	public void linshi(View v) {     //标题栏 		startAnim();       }   	@Override 	protected void onDestroy() { 		super.onDestroy(); 		if (mShakeListener != null) { 			mShakeListener.stop(); 		} 	} }

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值