日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android绘制(三):Path结合属性动画, 让图标动起来!

發布時間:2023/12/10 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android绘制(三):Path结合属性动画, 让图标动起来! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android繪制(一):來用shape繪出想要的圖形吧!

Android繪制(二):來用Path繪出想要的圖形吧!


目錄

  • 效果圖
  • 前言
  • 繪制
  • 屬性動畫
  • 最后

效果圖

不廢話, 直接上效果圖, 感興趣再看下去. 其實不單單是效果圖演示的, 運用熟練的話各種圖標之間都是可以切換的.


前言

之前的文章也說了, path還是很有潛力的. 但是很遺憾, 我本人不太擅長用貝塞爾曲線畫東西, 所以只能演示一些簡單的變化(手動無奈). 來看看是如何實現的吧.


繪制

想要繪制矩形很簡單啦, 移動到左上角, 然后逆時針畫一圈, 或者順時針畫一圈. 那其實暫停和終止就是兩個矩形, 播放就是兩個三角形. 所以稍微改變下path繪制的位置就解決問題啦.

mLPath.moveTo(left, top); mLPath.lineTo(left, bottom); mLPath.lineTo(right, bottom); mLPath.lineTo(right, top); mLPath.close(); 復制代碼

但是需要弄清繪制區域. 首先要測出設定視圖寬高, 再以此畫一個圓, 然后設置一個內邊距, 然后再繪制圖標. 來張圖:


屬性動畫

其實這里的屬性動畫的使用部分是最簡單的使用, 就是值變化, 從0到1或者從1到0.

ValueAnimator valueAnimator = ValueAnimator.ofFloat(isPlaying ? 1 : 0, isPlaying ? 0 : 1); valueAnimator.setDuration(mAnimDuration); valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) {mProgress = (float) animation.getAnimatedValue();invalidate();} }); 復制代碼

然后依據mProgress的值變化圖形. 那要怎么構建這個變化呢? 注意看我的注釋部分, 變化的值就那幾個, 你將0時的值和1時的值先寫好, 然后推算函數, 就是初中數學的難度, 大概(天知道現在小學生變成什么樣了)(手動滑稽).

// 暫停間距(0: mMidSpace 1: 0) float pauseDis = mMidSpace * (1 - mProgress); // 暫停單條寬(0: mRectWidth / 3 1: mRectWidth / 2) float pauseWidth = (mRectWidth - pauseDis) / 2; // 左暫停左上(0: 0 1: mRectWidth / 2) float pauseLLT = pauseWidth * mProgress; // 右暫停左上(0: mRectWidth / 3 * 2 1: mRectWidth / 2) float pauseRLT = pauseWidth + pauseDis; // 右暫停右上(0: mRectWidth 1: mRectWidth) float pauseRRT = pauseWidth * 2 + pauseDis; // 右暫停右下(0: mRectWidth 1: mRectWidth / 2) float pauseRRB = pauseRRT - pauseWidth * mProgress; 復制代碼

最后

之后實現應該都不太難了, 不管是監聽還是自定義屬性. 那自定義視圖可以看這篇-界面無小事(五):自定義自定義TextView, 屬性動畫可以看這篇-動畫必須有(一): 屬性動畫淺談. 當然了, 要是前一篇沒看的, 建議看下Android繪制(二):來用Path繪出想要的圖形吧!. 喜歡記得點贊哦, 有意見或者建議評論區見, 暗中關注我也是可以的哦~


總結

以上是生活随笔為你收集整理的Android绘制(三):Path结合属性动画, 让图标动起来!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。