日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Android實(shí)現(xiàn)微信搖一搖功能

瀏覽:209日期:2022-06-06 10:37:14

本文實(shí)例為大家分享了Android實(shí)現(xiàn)微信搖一搖功能的具體代碼,供大家參考,具體內(nèi)容如下

1、初始化界面

設(shè)置搖一搖界面的背景圖片和搖動(dòng)時(shí)的上下兩半張圖片

Android實(shí)現(xiàn)微信搖一搖功能

<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:tools='http://schemas.android.com/tools' android: android:layout_width='match_parent' android:layout_height='match_parent' tools:context='com.example.yyy.MainActivity' android:background='@mipmap/shakehideimg_man2' > <LinearLayout android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical' > <ImageView android: android:layout_width='match_parent' android:layout_height='0dp' android:layout_weight='1' android:background='@mipmap/shake_logo_up' /> <ImageView android: android:layout_width='match_parent' android:layout_height='0dp' android:layout_weight='1' android:background='@mipmap/shake_logo_down' /> </LinearLayout></RelativeLayout>

2、Mainactivity - onCreate()

private ImageView imgDown; private ImageView imgUp; private SensorManager sensorManager; private SensorEventListener sensorEventListener; private Sensor accSensor; private AnimationSet upAnimationSet; private AnimationSet downAnimationSet; private SoundPool soundPool; private int soundId; private Vibrator vibrator; private boolean isYYY = false; /*1.初始化頁面 2.初始化數(shù)據(jù) * 3.監(jiān)聽加速度變化(觸發(fā)條件) * 1.圖片執(zhí)行動(dòng)畫 * ***2.到服務(wù)器查詢同一時(shí)間搖一搖的異性用戶 * 2.播放音樂 * 3.振動(dòng) * **4.當(dāng)你正在搖的時(shí)候(不能再搖動(dòng)) * */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); initEvent(); //注冊(cè)監(jiān)聽 sensorManager.registerListener(sensorEventListener,accSensor,SENSOR_DELAY_NORMAL);}

3、初始化數(shù)據(jù)

private void initData() { //先獲得傳感器管理器 sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); //獲得加速度傳感器 accSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); //獲得振動(dòng)器 vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); //初始化聲音池 soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0); //初始化聲音資源 soundId = soundPool.load(this,R.raw.awe,1); //初始化動(dòng)畫 upAnimationSet = new AnimationSet(true); TranslateAnimation upUpAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, -0.5f); upUpAnimation.setDuration(500); TranslateAnimation upDownAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, -0.5f, Animation.RELATIVE_TO_SELF, 0); upDownAnimation.setDuration(500); //down動(dòng)畫在up動(dòng)畫之后執(zhí)行 upUpAnimation.setStartOffset(500); upAnimationSet.addAnimation(upUpAnimation); upAnimationSet.addAnimation(upDownAnimation); upAnimationSet.setDuration(1000); upAnimationSet.setStartOffset(200); //初始化動(dòng)畫 downAnimationSet = new AnimationSet(true); TranslateAnimation downUpAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0); downUpAnimation.setDuration(500); TranslateAnimation downDownAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0.5f); downDownAnimation.setDuration(500); //down動(dòng)畫在up動(dòng)畫之后執(zhí)行 downDownAnimation.setStartOffset(500); downAnimationSet.addAnimation(downDownAnimation); downAnimationSet.addAnimation(downUpAnimation); downAnimationSet.setDuration(1000); downAnimationSet.setStartOffset(200); }

4、初始化事件 - 搖一搖

給加速度感應(yīng)器設(shè)置監(jiān)聽① 設(shè)置搖一搖的觸發(fā)條件② 播放動(dòng)畫③ 播放音樂④ 開啟震動(dòng)

private void initEvent() { sensorEventListener = new SensorEventListener() { /* * 當(dāng)傳感器的值發(fā)生變化時(shí)的回調(diào) * */ @Override public void onSensorChanged(SensorEvent event) { //Log.i('AAA', 'onSensorChanged: '); //設(shè)置觸發(fā)搖一搖的條件 //獲得x,y,z方向的變化 float[] values = event.values; float valueX = values[0]; //空間中X的變化 float valueY = values[1]; //空間中Y的變化 float valueZ = values[2]; //空間中Z的變化 if(valueX > 15 || valueY > 15 || valueZ >15){//觸發(fā)條件 if(!isYYY){ imgUp.startAnimation(upAnimationSet); imgDown.startAnimation(downAnimationSet); //播放音樂 soundPool.play(soundId,1,1,1,0,1); //振動(dòng) vibrator.vibrate(new long[]{200,400,200,400,200,400,200,400},-1); } } } /* *當(dāng)傳感器精度發(fā)生變化的回調(diào) * */ @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; upAnimationSet.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { isYYY = true; } @Override public void onAnimationEnd(Animation animation) { isYYY = false; } @Override public void onAnimationRepeat(Animation animation) { } });}

5、添加權(quán)限

<uses-permission android:name='android.permission.VIBRATE'></uses-permission>

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 微信
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
9国产精品视频| 综合一区二区三区| 国产精品网站在线看| 国产精品超碰| 色婷婷亚洲mv天堂mv在影片| 欧美日韩视频免费观看| 国精品一区二区| 亚洲一区区二区| 亚洲aa在线| 欧美黄色一区| se01亚洲视频 | 欧美日韩国产欧| 国产高清一区二区| 日本亚洲三级在线| 欧美黄色精品| 成人看片网站| 午夜在线视频一区二区区别| 日本久久二区| www.com.cn成人| 日韩一级网站| 国产图片一区| 欧洲精品一区二区三区| 视频一区二区国产| 欧美黄页在线免费观看| 欧美日韩一二| 一本一道久久a久久| 精品视频自拍| 老司机精品久久| 精品国产美女a久久9999| 日韩天堂av| 老司机免费视频一区二区| 欧美日韩国产传媒| 国产精品videossex久久发布| 99精品视频在线观看免费播放| 综合视频一区| 国产麻豆久久| 日本成人手机在线| 久久精品高清| 国产精品亚洲四区在线观看 | 九九99久久精品在免费线bt| 亚洲精品a级片| 国产精品一区二区三区av麻| 宅男在线一区| 精品欧美日韩精品| 亚洲精品高潮| 99久久亚洲精品| 免费在线日韩av| 亚洲一区二区三区四区电影| 高清不卡亚洲| 久久国产日韩欧美精品| 婷婷成人在线| 国产成人久久精品一区二区三区| 中文字幕日韩高清在线| 肉色欧美久久久久久久免费看| 一区二区日韩免费看| 日本高清不卡一区二区三区视频| 四虎成人精品一区二区免费网站| 激情欧美国产欧美| 成人午夜毛片| 国产精品亚洲片在线播放| 在线精品一区| 亚洲激情不卡| 亚洲大片在线| 久久久久久久欧美精品| 欧美日韩亚洲一区三区| 久久99伊人| 日本а中文在线天堂| 国产福利资源一区| 日韩国产欧美三级| 中文一区二区| 欧美日韩国产高清电影| 亚洲黄色中文字幕| 国产一区二区三区天码| 亚洲精品高潮| 久久国产精品99国产| 免费高潮视频95在线观看网站| 国产精品一级| 国产欧美日韩精品一区二区三区| 亚洲图片久久| 蜜桃一区二区三区在线| 99在线|亚洲一区二区| 神马日本精品| 精品捆绑调教一区二区三区| 亚洲精品成人图区| 欧洲精品一区二区三区| 国产综合色区在线观看| 久久久9色精品国产一区二区三区| аⅴ资源天堂资源库在线| 国产精品久久久久久久久久久久久久久| 亚洲一二av| 蜜桃视频在线观看一区二区| 免费在线观看一区二区三区| 蜜桃视频第一区免费观看| 蜜臀va亚洲va欧美va天堂 | 欧美日韩在线观看视频小说| 日韩欧美另类一区二区| 久久三级视频| 国精品一区二区| 尤物网精品视频| 亚洲制服欧美另类| 日韩va亚洲va欧美va久久| 亚洲精品在线二区| 日韩高清三区| 欧美激情精品| 日韩精品电影| 日韩亚洲国产欧美| 一区二区精品| 国产欧美一区二区三区国产幕精品 | 亚洲精品综合| 欧美日本不卡高清| 麻豆精品视频在线| 人在线成免费视频| 欧美日韩水蜜桃| 99pao成人国产永久免费视频| 亚洲无线观看| 国产精品一线| 偷拍精品精品一区二区三区| 黄色日韩精品| 日韩国产欧美视频| 日本久久综合| 在线亚洲激情| 国产精品久久久亚洲一区| 国产欧美一区二区三区精品酒店| 米奇777超碰欧美日韩亚洲| 日韩一区二区三区四区五区| 欧美激情一区| 欧美日韩国产一区二区三区不卡| 亚洲一区欧美| 国产精品99精品一区二区三区∴| 国产精品99一区二区三区| 亚洲国产一区二区在线观看 | 99视频一区| 久久国产麻豆精品| 亚洲欧洲美洲av| 久久亚洲精品伦理| 久久影视三级福利片| 欧美福利一区| 国产欧美一区| 亚洲国产一区二区三区在线播放| 欧美亚洲福利| 欧美一区二区三区激情视频| 亚洲日韩中文字幕一区| 精品久久精品| 亚洲日本国产| 成人日韩av| 亚洲另类av| 日韩黄色大片网站| 日韩不卡在线观看日韩不卡视频| 日韩精品1区| 国产私拍福利精品视频二区| 激情综合激情| 欧美经典一区| 亚洲精品第一| 欧美一区三区| 精品视频在线一区二区在线| 美女网站久久| 国产不卡精品| 亚洲精品激情| 国产精品88久久久久久| 久久久久久久久成人| 亚洲精品极品| 亚洲午夜久久久久久尤物| 国产精品s色| 亚洲毛片一区| 不卡一区综合视频| 欧美www视频在线观看| 啪啪亚洲精品| 日韩在线播放一区二区| 国产黄大片在线观看| 欧美日韩1区2区3区| 久久www成人_看片免费不卡| 日韩毛片视频| 国产精品大片| 日本成人在线网站| 久久国产精品毛片| 99久久婷婷| 香蕉视频亚洲一级| 精品美女在线视频| 国产精品麻豆成人av电影艾秋 | 国产精品最新| 综合激情网...| 欧美精品九九| 人人香蕉久久| 亚洲日本网址| 国产福利电影在线播放| 国产精品成人国产| 欧美一区久久| 日本伊人午夜精品| 亚洲一区区二区| 免费av一区| 久久久久久久久丰满| 日韩欧美精品一区| 福利在线免费视频| 国产成人黄色| 欧美国产偷国产精品三区| 久久99国产精品视频| 日韩高清不卡在线| 综合国产视频| 日韩欧美2区| 欧美日韩中出|