日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Android 调用12306接口,GitHub - AndroidyxChen/loading-12306: 仿PC端12306的刷新loading的自定义view...

發布時間:2023/12/4 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 调用12306接口,GitHub - AndroidyxChen/loading-12306: 仿PC端12306的刷新loading的自定义view... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

loading-12306

仿PC端12306的刷新loading的自定義view

效果圖:

核心代碼及實現邏輯如下:

mPaint.setColor(mColor);

mPaint.setTextSize(50);

//1、動畫開啟前,theCircle的初始值為-1,所以初始化時只走canvas.drawCircle()方法,即所有位置均為藍色

//2、動畫開啟后,theCircle=0時不改變顏色,即所有位置均為藍色

//3、繼續,theCircle=1、i=2時,第一個位置依舊為藍色,第二個及剩余其他位置為灰色

//4、繼續,theCircle=2,i=3時,第一、二個位置依舊為藍色,第三個及剩余其他位置為灰色

//5、......

//6、theCircle=11,i=12時,第一到十一個位置全部為藍色,剩余的第十二個為灰色

//7、直到,theCircle=0,循環繼續

//注:思路重點為,Paint使用的是同一個,所以在重新setColor()前的顏色是一樣的,setColor()后的顏色是另一樣的

for (int i = 1; i <= 12; i++) {

if (theCircle + 1 == i && theCircle != 0) {

mPaint.setColor(getResources().getColor(R.color.colorPassGray));

}

canvas.drawCircle(width / 2 + (float) Math.sin(Math.PI * (i - 1) / 6) * mHLength,

height / 2 - (float) Math.cos(Math.PI * (i - 1) / 6) * mHLength, mRadius, mPaint);

//Math.PI即為π,等于180度

}

---------------------------------------------------------------------------------------------------------

animator = ValueAnimator.ofInt(0, 12);

animator.setDuration(2000);//動畫時長

animator.setRepeatMode(ValueAnimator.RESTART);//動畫的重復次數

animator.setRepeatCount(ValueAnimator.INFINITE);//動畫的重復模式

animator.setInterpolator(new LinearInterpolator());//線性插值器:勻速動畫

//監聽動畫過程

animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

//獲取當前動畫的進度值,此處的theCircle值為(0、1、2...11、0)

theCircle = ((int) animation.getAnimatedValue() % 12);

invalidate();

}

});

本demo已發表在本人的CSDN上,詳細內容可到CSDN查看

作者:不二程序員

來源:CSDN

總結

以上是生活随笔為你收集整理的Android 调用12306接口,GitHub - AndroidyxChen/loading-12306: 仿PC端12306的刷新loading的自定义view...的全部內容,希望文章能夠幫你解決所遇到的問題。

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