分析一下效果圖,關鍵的技術點如下:
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...