自定義載入等待動畫,仿金山詞霸

2021-09-02 16:01:33 字數 2029 閱讀 2974

分析一下效果圖,關鍵的技術點如下:

1.繪製除出9個圓點(圓點的個數可以自己定義)

2.顏色的變化是逐級發生變化.

畫圓點的方法:

public void drawcircle (float cx, float cy, float radius, paint paint)

cx 小圓點x座標 

cy 小圓點y座標 

radius 小圓點半徑 

paint 畫筆

每個小圓所佔據的角度

angle = (float) (2 * math.pi / count);

每個小圓點的圓心座標

x = getwidth() / 2 + radius * math.

cos(i * angle)

y = getwidth() / 2 - radius * math.

sin(i * angle)

i 的值這裡是1~9

2.顏色逐級變化

顏色的色值是由32位2進製表示,因此我們可以通過位移拿到每隔8位的色值,將顏色拆分出來,通過動態的的給fraction 賦值,達到顏色漸變的效果.

public

class

colorutil

/*** 成新的顏色值

**@param fraction 顏色取值的級別 (0.0f ~ 1.0f)

*@param startvalue 開始顯示的顏色

*@param endvalue 結束顯示的顏色

*@return 返回生成新的顏色值

*/public

static

intevaluate(float fraction, int startvalue, int endvalue)

}

整體**:

import android.content.context;

import android.content.res.typedarray;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.point;

import android.os.handler;

import android.os.message;

import android.util.attributeset;

import android.view.view;

/** */

public

class

loadingview

extends

view

public

loadingview(context context, attributeset attrs)

public

loadingview(context context, attributeset attrs, int defstyleattr)

}typedarray.recycle();

init();

}private

void

init()

@override

protected

void

ondraw(canvas canvas)

//同乙個位置的圓點,下次繪製不同的顏色 j++

j++;

handler.sendemptymessagedelayed(0,100);

}handler handler = new handler()

};}

自定義載入等待框(MBProgressHUD)

二 在我的工程中示例如下 1 在showimageviewcontroller.h標頭檔案 如下 import import mbprogresshud.h inte ce showimageviewcontroller uiviewcontroller property nonatomic,cop...

Android自定義載入動畫庫zLoading

android自定義動畫總結更新一下,增加了對話方塊dialog模式,今天來簡單的分享下如何使用吧。效果圖如下 索引類名 列舉值 z type 暱稱0 circlebuilder circle圓1 clockbuilder circle clock 計時器2 starbuilder star loa...

Android自定義載入動畫庫zLoading

演示效果動畫1 演示效果動畫2 個人部落格介紹比較全,也會實時更新 android自定義載入動畫庫zloading 索引類名 列舉值 z type 暱稱0 circlebuilder circle圓1 clockbuilder circle clock 計時器2 starbuilder star l...