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

歡迎訪問 生活随笔!

生活随笔

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

Android

android 属性动画伸缩,Android的属性动画(二)加载框圆点旋转收缩放大缩小效果的实现...

發布時間:2024/2/28 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 属性动画伸缩,Android的属性动画(二)加载框圆点旋转收缩放大缩小效果的实现... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

案例效果圖如下,

案例實現步驟

1.首先用drawCircle()畫好6個圓點

private void drawCircles(Canvas canvas) {

//每個小圓之間的間隔角度 = 2π/小圓的個數

float rotationAngle = (float) (2*Math.PI/mCircleColors.length);

Log.i("barry","length------:"+mCircleColors.length);

for (int i=0; i < mCircleColors.length; i++){

/**

* x = r*cos(a) +centerX

* y= r*sin(a) + centerY

* 每個小圓i*間隔角度 + 旋轉的角度 = 當前小圓的真是角度

*/

double angle = i*rotationAngle + mCurrentRotationAngle;

float cx = (float) (mCurrentRotationRadius*Math.cos(angle) + mCenterX);

float cy = (float) (mCurrentRotationRadius*Math.sin(angle) + mCenterY);

Log.e("Test", "弧度="+angle+ " 對應的值="+mCurrentRotationRadius*Math.sin(angle));

mPaint.setColor(mCircleColors[i]);

canvas.drawCircle(cx,cy,mCircleRadius,mPaint);

}

}

2.通過屬性動畫讓6個圓點開始旋轉

//1.動畫的初始工作;2.開啟動畫

//花1200ms,計算某個時刻當前的角度是多少? 0~2π

mAnimator = ValueAnimator.ofFloat(0f,(float)Math.PI*2);//Math.PI*2 用于代表360度

//在重復執行的過程中,會有卡頓的現象,LinearInterpolator 可以用于解決卡頓

mAnimator.setInterpolator(new LinearInterpolator());

mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator valueAnimator) {

//計算某個時刻當前的大圓旋轉了的角度是多少?

mCurrentRotationAngle = (float) valueAnimator.getAnimatedValue();

postInvalidate();

}

});

mAnimator.setDuration(mRotationDuration);

mAnimator.setRepeatCount(ValueAnimator.INFINITE);//重復

mAnimator.start();

3.當網絡數據加載成功后,讓旋轉動畫停止,同時讓6個圓點先開始收縮,然后再回彈

//花1200ms,計算某個時刻當前的大圓半徑是多少? r~0中的某個值

mAnimator = ValueAnimator.ofFloat(0, mRotationRadius);

mAnimator.setDuration(mRotationDuration);

mAnimator.setInterpolator(new OvershootInterpolator(10f));

mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator valueAnimator) {

// 某個時刻當前的大圓半徑是多少?

mCurrentRotationRadius = (float)valueAnimator.getAnimatedValue();

invalidate();

}

});

mAnimator.addListener(new AnimatorListenerAdapter() {

@Override

public void onAnimationEnd(Animator animation) {

super.onAnimationEnd(animation);

mState = new ExpandState();

}

});

// mAnimator.start();

mAnimator.reverse();;

注意細節

mAnimator.setInterpolator(new OvershootInterpolator(10f));

使6個圓點反向擴散時,具備張力效果

mAnimator.reverse();

讓動畫反向執行,可以達到從擴散到收縮的效果

4.讓背景以圓的方式擴散

如下圖,當旋轉的6個點消失后,背景也應該以圓的方式進行擴展,以顯示背后的內容

if(mHoleRadius>0f){

//得到畫筆的寬度 = 對角線/2 - 空心圓的半徑

float strokeWidth = mDiagonalDist - mHoleRadius;

mPaintBackground.setStrokeWidth(strokeWidth);

//畫圓的半徑 = 空心圓的半徑 + 畫筆的寬度/2

float radius = mHoleRadius + strokeWidth/2;

canvas.drawCircle(mCenterX,mCenterY,radius,mPaintBackground);

Log.e("Test","畫圓: radius="+radius+" strokeWidth="+strokeWidth);

}else {

canvas.drawColor(mSplashBgColor);

}

總結

以上是生活随笔為你收集整理的android 属性动画伸缩,Android的属性动画(二)加载框圆点旋转收缩放大缩小效果的实现...的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美精品动漫 | 看国产一级片 | 人妻精品无码一区二区 | 日本在线中文字幕专区 | 欧美精品一二三四 | 96久久精品 | 成人免费视频一区 | 久久久久国产精品夜夜夜夜夜 | 午夜小影院 | 中国女人内谢69xxxx免费视频 | 亚洲av无码一区二区三区性色 | 久久中文字幕人妻 | 久久久久99精品成人片 | 性色一区二区三区 | 精品在线观看视频 | 青青久久国产 | 日日操网站 | 国模吧一区二区三区 | 操操操免费视频 | 久草热在线观看 | 成人影片网址 | av拍拍拍 | 欧美三级影院 | 一卡二卡三卡在线观看 | 福利视频h| 日韩一级片网址 | 性一级视频 | 67194少妇在线观看 | 久久久久国产一区二区 | 美女啪啪网站 | 精品中文字幕在线观看 | 先锋av资源| 欧美日韩激情在线观看 | 激情四射av | 久久久影视 | 51吃瓜网今日 | 无码少妇精品一区二区免费动态 | 中文字幕一区二区三区精彩视频 | 嫩草视频在线免费观看 | 天堂а√在线中文在线鲁大师 | 狠狠的干狠狠的操 | 国产成人av免费看 | 日本黄色动态图 | 日韩一级视频在线观看 | 伊人久久97 | 国产亚洲视频一区 | 韩国无码一区二区三区精品 | 又黄又爽无遮挡 | 欧美图片第一页 | 最新最近中文字幕 | 毛片无码免费无码播放 | 岛国黄色片| 国产无遮掩 | 亚洲精品国产精品乱码视色 | 日韩在线视频在线观看 | 日韩精品区 | 95视频在线观看 | 国产乱子伦精品视频 | 性做久久久久久久免费看 | 欧美三级黄| 中文字幕一区二区三区在线视频 | 欧美成人一区二区三区四区 | 国产无套内射又大又猛又粗又爽 | 91免费在线视频 | 亚洲三级a| 日本免费一区二区视频 | 91av欧美 | 高清av一区二区三区 | 扒开女人屁股进去 | 中出视频在线观看 | 激情的网站 | 91大神在线观看视频 | 插插插色综合 | 麻豆毛片 | 视频一区中文字幕 | 久久久久久国产精品免费 | 老司机午夜免费福利 | 久久综合鬼色 | 欧美激情69| 久草免费新视频 | 久在线观看视频 | 五月婷中文字幕 | 69看片| 永久免费看mv网站入口亚洲 | 中文一区在线 | 国产视频aaa| 曰本无码人妻丰满熟妇啪啪 | 中文资源在线播放 | 美日韩视频 | 三上悠亚中文字幕在线播放 | 琪琪女色窝窝777777 | 国产人妖ts | 国产激情在线视频 | 精品国产乱码久久久久久蜜臀网站 | 欧美国产精品久久 | 色欲av伊人久久大香线蕉影院 | 国产情侣激情自拍 | 精品久久国产 | 欧美日国产 |