欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android高級UI特效仿直播點贊動畫效果

 更新時間:2018年03月30日 16:45:33   投稿:mrr  
這篇文章主要介紹了Android高級UI特效仿直播點贊動畫效果,最近比較火的抖音快手直播視頻都有這樣的效果,下面腳本之家小編給大家?guī)韆ndroid 仿直播點贊效果的實現(xiàn)代碼,需要的朋友參考下吧

本文給大家分享高級UI特效仿直播點贊效果—一個優(yōu)美炫酷的點贊動畫,具體實現(xiàn)代碼大家參考本文。

效果圖如下:

攻克難點:

心形圖片的路徑等走向 心形圖片的控制范圍

部分代碼如下:

通過AbstractPathAnimator定義飄心動畫控制器

@Override
 public void start(final View child, final ViewGroup parent) {
 parent.addView(child, new ViewGroup.LayoutParams(mConfig.heartWidth, mConfig.heartHeight));
 FloatAnimation anim = new FloatAnimation(createPath(mCounter, parent, 2), randomRotation(), parent, child);
 anim.setDuration(mConfig.animDuration);
 anim.setInterpolator(new LinearInterpolator());//啟動動畫
 anim.setAnimationListener(new Animation.AnimationListener() {
  @Override
  public void onAnimationEnd(Animation animation) {
  mHandler.post(new Runnable() {
   @Override
   public void run() {
   parent.removeView(child);
   }
  });
  mCounter.decrementAndGet();
  }
  @Override
  public void onAnimationRepeat(Animation animation) {
  }
  @Override
  public void onAnimationStart(Animation animation) {
  mCounter.incrementAndGet();
  }
 });
 anim.setInterpolator(new LinearInterpolator());
 child.startAnimation(anim);
 }

/**
 * 根據(jù)圖片設(shè)置bitmap
 * @param color
 * @return
 */
 public Bitmap createHeart(int color) {
 if (sHeart == null) {
  sHeart = BitmapFactory.decodeResource(getResources(), mHeartResId);
 }
 if (sHeartBorder == null) {
  sHeartBorder = BitmapFactory.decodeResource(getResources(), mHeartBorderResId);
 }
 Bitmap heart = sHeart;
 Bitmap heartBorder = sHeartBorder;
 Bitmap bm = createBitmapSafely(heartBorder.getWidth(), heartBorder.getHeight());
 if (bm == null) {
  return null;
 }
 Canvas canvas = sCanvas;
 canvas.setBitmap(bm);
 Paint p = sPaint;
 canvas.drawBitmap(heartBorder, 0, 0, p);
 p.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP));
 float dx = (heartBorder.getWidth() - heart.getWidth()) / 2f;
 float dy = (heartBorder.getHeight() - heart.getHeight()) / 2f;
 canvas.drawBitmap(heart, dx, dy, p);
 p.setColorFilter(null);
 canvas.setBitmap(null);
 return bm;
 }

如何創(chuàng)建一個path

public Path createPath(AtomicInteger counter, View view, int factor) {
 Random r = mRandom;
 int x = r.nextInt(mConfig.xRand);
 int x2 = r.nextInt(mConfig.xRand);
 int y = view.getHeight() - mConfig.initY;
 int y2 = counter.intValue() * 15 + mConfig.animLength * factor + r.nextInt(mConfig.animLengthRand);
 factor = y2 / mConfig.bezierFactor;
 //隨機xPoint
 int xPointFactor = mRandom.nextInt(mConfig.xPointFactor);
 x = xPointFactor + x;
 x2 = xPointFactor + x2;
 int y3 = y - y2;
 y2 = y - y2 / 2;
 Path p = new Path();
 p.moveTo(mConfig.initX, y);
 p.cubicTo(mConfig.initX, y - factor, x, y2 + factor, x, y2);
 p.moveTo(x, y2);
 p.cubicTo(x, y2 - factor, x2, y3 + factor, x2, y3);
 return p;
 }

Activity中代碼:

下面給大家分享一個源碼:html5+canvas仿抖音直播愛心飄動點贊動畫特效源碼

總結(jié)

以上所述是小編給大家介紹的Android高級UI特效仿直播點贊動畫效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 關(guān)于Kotlin寫界面時諸多控件的點擊事件

    關(guān)于Kotlin寫界面時諸多控件的點擊事件

    這篇文章主要介紹了關(guān)于Kotlin寫界面時諸多控件的點擊事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android自定義view漸變圓形動畫

    Android自定義view漸變圓形動畫

    這篇文章主要為大家詳細介紹了Android自定義view漸變圓形動畫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Flutter上的數(shù)據(jù)監(jiān)控深入理解

    Flutter上的數(shù)據(jù)監(jiān)控深入理解

    這篇文章主要給大家介紹了關(guān)于Flutter上的數(shù)據(jù)監(jiān)控的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Flutter具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • Android仿新浪微博/QQ空間滑動自動播放視頻功能

    Android仿新浪微博/QQ空間滑動自動播放視頻功能

    相信用過新浪微博或者QQ空間的朋友都看到過滑動自動播放視頻的效果,那么這篇文章跟大家分享下如何利用Android實現(xiàn)這一個功能,有需要的朋友們可以參考借鑒。
    2016-09-09
  • 淺析Android中強大的Dialog

    淺析Android中強大的Dialog

    下面將通過一個小實例,來像大家展示Android功能強大的Dialog,代碼都寫了詳細的注釋,讀者不妨試著手動去敲
    2013-10-10
  • Android實現(xiàn)精美的聊天界面

    Android實現(xiàn)精美的聊天界面

    這篇文章主要為大家詳細介紹了Android實現(xiàn)精美的聊天界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Android保存聯(lián)系人到通訊錄的方法

    Android保存聯(lián)系人到通訊錄的方法

    怎么保存聯(lián)系人數(shù)據(jù)到本機通訊錄?這篇文章主要為大家詳細介紹了Android保存聯(lián)系人到通訊錄的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android實現(xiàn)史上最簡單自定義開關(guān)按鈕的方法

    Android實現(xiàn)史上最簡單自定義開關(guān)按鈕的方法

    在平常的開發(fā)中按鈕是經(jīng)常使用到的控件之一,下面這篇文章主要給大家介紹了關(guān)于Android實現(xiàn)史上最簡單自定義開關(guān)按鈕的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Android中使用AspectJ詳解

    Android中使用AspectJ詳解

    本文主要介紹了Android中使用AspectJ的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • Android仿主流壁紙App設(shè)置界面

    Android仿主流壁紙App設(shè)置界面

    這篇文章主要為大家詳細介紹了Android仿主流壁紙App壁紙設(shè)置界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論