亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android設置View抖動動畫

2019-11-09 18:30:42
字體:
來源:轉載
供稿:網友

在應用中,有時候我們要吸引用戶去點擊某些按鈕,比如應用市場的推薦按鈕,為了能夠吸引用戶主動點擊而且不過分的打擾用戶,最好的方法就是給我們想吸引用戶注意的view添加一些抖動動畫,比如這張圖

這里我主要實現了兩種抖動動畫,左右抖動和上下抖動。左右抖動通常用于表單驗證失敗的時候,上下抖動通常用于吸引用于用戶去點擊。動畫主要使用了Keyframe和PRopertyValuesHolder。Keyframe是一個時間/值對,用于定義在某個時刻動畫的狀態。比如Keyframe.ofInt(.5f, Color.RED)定義了當動畫進行了50%的時候,顏色的值應該是Color.RED。PropertyValuesHolder保存了view的屬性的信息以及在動畫進行過程中該屬性的值。通過PropertyValuesHolder.ofKeyframe方法來構建PropertyValuesHolder的實例,改方法接收一個屬性名以及多個Keyframe對象作為參數。當你想通過動畫改變多個屬性的時候PropertyValuesHolder就非常有用。直接上代碼:tada方法實現了上下抖動。抖動的原理很簡單,就是對view的x軸和y軸進行0.9倍到1.1倍的縮放,同時對view進行一定角度的上下旋轉。

[java] view plain copypublic static ObjectAnimator tada(View view) {      return tada(view, 1f);  }    public static ObjectAnimator tada(View view, float shakeFactor) {        PropertyValuesHolder pvhScaleX = PropertyValuesHolder.ofKeyframe(View.SCALE_X,              Keyframe.ofFloat(0f, 1f),              Keyframe.ofFloat(.1f, .9f),              Keyframe.ofFloat(.2f, .9f),              Keyframe.ofFloat(.3f, 1.1f),              Keyframe.ofFloat(.4f, 1.1f),              Keyframe.ofFloat(.5f, 1.1f),              Keyframe.ofFloat(.6f, 1.1f),              Keyframe.ofFloat(.7f, 1.1f),              Keyframe.ofFloat(.8f, 1.1f),              Keyframe.ofFloat(.9f, 1.1f),              Keyframe.ofFloat(1f, 1f)      );        PropertyValuesHolder pvhScaleY = PropertyValuesHolder.ofKeyframe(View.SCALE_Y,              Keyframe.ofFloat(0f, 1f),              Keyframe.ofFloat(.1f, .9f),              Keyframe.ofFloat(.2f, .9f),              Keyframe.ofFloat(.3f, 1.1f),              Keyframe.ofFloat(.4f, 1.1f),              Keyframe.ofFloat(.5f, 1.1f),              Keyframe.ofFloat(.6f, 1.1f),              Keyframe.ofFloat(.7f, 1.1f),              Keyframe.ofFloat(.8f, 1.1f),              Keyframe.ofFloat(.9f, 1.1f),              Keyframe.ofFloat(1f, 1f)      );        PropertyValuesHolder pvhRotate = PropertyValuesHolder.ofKeyframe(View.ROTATION,              Keyframe.ofFloat(0f, 0f),              Keyframe.ofFloat(.1f, -3f * shakeFactor),              Keyframe.ofFloat(.2f, -3f * shakeFactor),              Keyframe.ofFloat(.3f, 3f * shakeFactor),              Keyframe.ofFloat(.4f, -3f * shakeFactor),              Keyframe.ofFloat(.5f, 3f * shakeFactor),              Keyframe.ofFloat(.6f, -3f * shakeFactor),              Keyframe.ofFloat(.7f, 3f * shakeFactor),              Keyframe.ofFloat(.8f, -3f * shakeFactor),              Keyframe.ofFloat(.9f, 3f * shakeFactor),              Keyframe.ofFloat(1f, 0)      );        return ObjectAnimator.ofPropertyValuesHolder(view, pvhScaleX, pvhScaleY, pvhRotate).              setDuration(1000);  }  nope方法實現了左右抖動。左右抖動的原理就是對view進行x軸的平移。

[java] view plain copypublic static ObjectAnimator nope(View view) {      int delta = view.getResources().getDimensionPixelOffset(R.dimen.spacing_medium);        PropertyValuesHolder pvhTranslateX = PropertyValuesHolder.ofKeyframe(View.TRANSLATION_X,              Keyframe.ofFloat(0f, 0),              Keyframe.ofFloat(.10f, -delta),              Keyframe.ofFloat(.26f, delta),              Keyframe.ofFloat(.42f, -delta),              Keyframe.ofFloat(.58f, delta),              Keyframe.ofFloat(.74f, -delta),              Keyframe.ofFloat(.90f, delta),              Keyframe.ofFloat(1f, 0f)      );        return ObjectAnimator.ofPropertyValuesHolder(view, pvhTranslateX).              setDuration(500);  }  github代碼

https://github.com/lzyzsd/AndroidSeekAttention

參考:https://plus.google.com/+CyrilMottier/posts/FABaJhRMCuyhttp://developer.android.com/reference/android/animation/PropertyValuesHolder.htmlhttp://developer.android.com/guide/topics/graphics/prop-animation.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www欧美xxxx| 91免费电影网站| 免费99精品国产自在在线| 欧美日韩aaaa| 国产精品一二三在线| 国产91精品久久久久| 九九热精品视频在线播放| 91日韩在线播放| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产午夜精品全部视频播放| 久久久久亚洲精品成人网小说| 亚洲国产天堂久久综合| 国产成人精品久久亚洲高清不卡| 欧美日韩国产综合视频在线观看中文| 久久久精品亚洲| 永久免费看mv网站入口亚洲| 最近2019中文免费高清视频观看www99| 97色在线视频观看| 亚洲天堂网在线观看| 亚洲最大福利网站| 亚洲欧美综合精品久久成人| 国产精品日韩电影| 91日本视频在线| 久久精品国产电影| 国产午夜精品免费一区二区三区| 亚洲美女av在线| 91精品国产色综合久久不卡98| 亚洲天堂视频在线观看| 亚洲欧美另类人妖| 国产精品亚洲片夜色在线| 欧美大码xxxx| 精品香蕉一区二区三区| 亚洲精品一区av在线播放| 激情懂色av一区av二区av| 亚洲精品综合久久中文字幕| 亚洲欧美视频在线| 日韩成人激情影院| 精品国产自在精品国产浪潮| 亚洲资源在线看| 亚洲精品美女在线观看播放| 国产日韩欧美成人| 国产成人精品国内自产拍免费看| 91精品成人久久| 国产亚洲欧美视频| 国产精品久久久亚洲| 精品视频在线播放| 亚洲第一精品电影| 亚洲国产成人久久| 国产99视频精品免视看7| 在线看日韩欧美| 欧美日韩不卡合集视频| 国产亚洲精品高潮| 91精品国产综合久久久久久久久| 国产极品jizzhd欧美| 国产精品91久久久久久| 91精品国产综合久久男男| 欧美老女人在线视频| 清纯唯美亚洲激情| 亚洲一区二区三区毛片| 欧美体内谢she精2性欧美| 日韩成人中文字幕在线观看| 成人网欧美在线视频| 伊人久久精品视频| 久久精品99无色码中文字幕| 性欧美xxxx| 久久99国产精品久久久久久久久| 中文字幕在线亚洲| 国产日韩欧美91| 欧美激情喷水视频| 国外视频精品毛片| 国精产品一区一区三区有限在线| 欧美最猛性xxxxx亚洲精品| 国产日韩av在线| 一区二区三区无码高清视频| 国产亚洲aⅴaaaaaa毛片| 成人精品视频99在线观看免费| 欧美疯狂性受xxxxx另类| 成人精品久久av网站| 国内自拍欧美激情| 日韩中文字幕在线观看| 欧美日韩一区二区在线| 国产精品自产拍在线观| 国产91精品最新在线播放| 久久免费成人精品视频| 在线播放精品一区二区三区| 狠狠色噜噜狠狠狠狠97| 日本久久久久亚洲中字幕| 中文字幕在线精品| 韩国三级电影久久久久久| 久热99视频在线观看| 91香蕉亚洲精品| 欧美精品videosex极品1| 久久69精品久久久久久国产越南| 91在线观看免费| 国产精品大陆在线观看| 91成人性视频| 不卡av日日日| 久久视频中文字幕| 国产欧美精品一区二区三区介绍| 亚洲影院高清在线| 成人av色在线观看| 国产精品女视频| 亚洲天堂av图片| 亚洲最大的免费| 亚洲精品久久久久| 自拍偷拍亚洲一区| 欧美亚洲午夜视频在线观看| 亚洲精品国产精品国产自| 欧美丰满少妇xxxxx做受| 日韩在线不卡视频| 91色视频在线观看| 国产美女精品视频免费观看| 国产在线观看精品一区二区三区| 97精品伊人久久久大香线蕉| 国产精品成av人在线视午夜片| 国产日韩欧美成人| 色偷偷噜噜噜亚洲男人| 亚洲成av人影院在线观看| 8x海外华人永久免费日韩内陆视频| 欧美黑人xxx| 深夜福利一区二区| 国产精品久久久久久久久借妻| 欧美性猛交xxxx乱大交蜜桃| 国产精品精品久久久| 国产精品香蕉在线观看| 成人久久18免费网站图片| 日韩欧美中文字幕在线观看| www.99久久热国产日韩欧美.com| 亚洲系列中文字幕| 亚洲最大的网站| 亚洲欧美999| 精品香蕉在线观看视频一| 亚洲国产中文字幕在线观看| 国产精品av免费在线观看| 91久久在线观看| 亚洲自拍欧美色图| 在线丨暗呦小u女国产精品| 日韩欧美在线看| 国产精品视频免费在线| 日韩av观看网址| 久久视频免费在线播放| 色视频www在线播放国产成人| 日韩中文字幕视频| 国产精品欧美风情| 亚洲小视频在线观看| 精品久久久久久中文字幕一区奶水| 亚洲成人网在线| 日韩中文在线视频| 精品国产鲁一鲁一区二区张丽| 国产精品久久国产精品99gif| 在线观看日韩av| 夜色77av精品影院| 久久偷看各类女兵18女厕嘘嘘| 欧美激情成人在线视频| 一本一本久久a久久精品牛牛影视| 欧美激情亚洲激情| 91久久精品国产91久久| 久久久久久国产| 国产日本欧美在线观看| 2019精品视频| 一本色道久久88亚洲综合88| 在线精品视频视频中文字幕| 久久精品在线播放| 欧美激情三级免费|