Android高仿iOS圓環進度條

2021-09-24 14:43:56 字數 2810 閱讀 7381

實現圓環進度條,為神馬筆記開源專案

描述ldoublem / ringprogress

a circle progress bar with effect

hotbitmapgg / ringprogressbar

a material design circle the progress bar.類描述

shapedrawable

使用各種shape的drawable。

arcshape

a material design circle the progress bar.

新增了start()stop()介面,使之產生動畫效果。

public

class

rin**iew

extends

view

public

rin**iew

(context context,

@nullable attributeset attrs)

public

rin**iew

(context context,

@nullable attributeset attrs,

int defstyleattr)

public

rin**iew

(context context,

@nullable attributeset attrs,

int defstyleattr,

int defstyleres)

}public

void

setduration

(long duration)

public

void

setprogress

(long progress)

public

void

start()

public

void

stop()

this

.endtime = systemclock.

elapsedrealtime()

;this

.progress +=

(this

.endtime -

this

.starttime)

;this

.isrunning =

false

;this

.invalidate()

;}@override

protected

void

ondraw

(canvas canvas)

if(isrunning)

}void

drawprogress

(canvas canvas)

long total =

this

.duration;

shape.

setsweepangle

(sweepangle);}

}/****/

private

static

class

ringshape

extends

rectshape

/** * @return the angle (in degrees) where the arc begins

*/public

final

float

getstartangle()

public

void

setstartangle

(float startangle)

/** * @return the sweep angle (in degrees)

*/public

final

float

getsweepangle()

public

void

setsweepangle

(float sweepangle)

@override

public

void

draw

(canvas canvas, paint paint)

@override

public

void

getoutline

(outline outline)

@override

public ringshape clone()

throws clonenotsupportedexception

}}

實現圓環的核心**是canvas#drawarc()方法。

借鑑了arcshape**,實現ringshape,並結合shapedrawable使用。

組合出錄音的recyclerview的viewholder。

繼續完成神馬筆記錄音功能。

須菩提。

若有人言。

如來若來若去。若坐若臥。

是人不解我所說義。

何以故。

如來者。

無所從來。亦無所去。

故名如來。

Android 高仿IOS載入資料時圓形的進度條

本文有material design風格的圓形進度條和5.0以下的進度條兩種,material design風格參考開源的progresswheel,可以根據自己需求修改進度條的布局檔案來實現自己想要的效果,先來看看專案執行的效果 兩種效果的區別只是傳入的布局檔案的id不同,布局檔案的區別就是把pr...

高仿IOS 提示框

乙個簡單的仿ios 對話方塊,感覺很好用 記錄下來 往後可以直接轉移到別的專案中使用。先來看下效果圖 效果簡單明瞭,感覺ios 的對話方塊就要比安卓原生的好看一些,下面附上 public class alertdialog extends dialog public alertdialog cont...

Android 高仿墨跡天氣「我」頁面

實現的效果分三個部分來說明,首先是下拉到最大高度,個人資訊介面會產生乙個回彈的效果,然後是滾動到頂部,個人資訊介面收縮,並且產生登入按鈕會重新出現,黃色的訊息按鈕會平移到最右邊。最後是在這兩種狀態之間,控制項會根據滾動的距離來判斷變換成前面兩種狀態中的一種狀態。首先根據三種狀態切割userinfov...