漸變進度條

2021-08-11 12:14:12 字數 1392 閱讀 2942

用建立的方式來寫漸變的進度條:

public class myprogressview extends viewgroup

public myprogressview(context context, attributeset attrs)

@override

protected void onlayout(boolean b, int i, int i1, int i2, int i3)

@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec) else

if (heightspecmode == measurespec.exactly || heightspecmode == measurespec.at_most) else

setmeasureddimension(mwidth, mheight);

}@override

protected void ondraw(canvas canvas)

/*進度條最大值

*/ float maxcount = 5;

float progress = currentcount / maxcount;

//切取

drawable drawable1 = getresources().getdrawable(r.drawable.shape_evaluate_grade_bg_3);

bitmap bmp = drawabletobitamp(drawable1);

//這裡需要處理高度大於0的問題,當高度為0的時候就不去繪製前景

if (progress > 0)

}/**

* drawable轉bitmap

* * @param drawable

* @return

*/private bitmap drawabletobitamp(drawable drawable)

int w = getwidth();

int h = getheight();

bitmap bitmap = bitmap.createbitmap(w, h, bitmap.config.argb_8888);

canvas canvas = new canvas(bitmap);

drawable.setbounds(0, 0, w, h);

drawable.draw(canvas);

return bitmap;

}public void setprogress(float f)

@override

public void onwindowfocuschanged(boolean haswindowfocus)

canvas錐形漸變進度條

這一切需要從乙個 簡單 的需求開始,在最開始對設計第一眼看到這張圖的時候,感覺挺簡單的嘛,直接用echarts餅圖模擬出來乙個就好了 然後上echarts試了一下發現實現不出來了 設計圖這邊採用的是錐形漸變,而echarts只有線性漸變和徑向漸變。然後準備換種方案,css就有錐形漸變,然後通過con...

水平漸變進度條的實現

最近在研究一些自定義繪製控制項,不可避免的會用到paint,gradient,先貼 public class progressview1 extends view private float mcursize public progressview1 context context public p...

iOS 環形漸變進度條實現

之前有人在找漸變進度條的效果,閒來無事就順手寫了乙個,然後畫了檢視層級,方便講解。環境資訊 mac os x 10.10.3 xcode 6.3.1 ios 8.3 效果圖 正文 首先需要搞定的就是檢視層級關係。可以看到,1.背景是有透明度的藍色 blueview 2.需要乙個從綠 黃 紅的漸變色,...