安卓節點進度nodeprogressbar條如圖:
nodeprogressview.class 檔案**
importattrs.xml 檔案**android.content.context;
import
android.content.res.typedarray;
import
android.graphics.canvas;
import
android.graphics.color;
import
android.graphics.paint;
import
android.util.attributeset;
import
android.view.view;
public
class nodeprogressview extends
view ;
private string titles = ;
public
nodeprogressview(context context)
public
nodeprogressview(context context, attributeset attrs)
public nodeprogressview(context context, attributeset attrs, int
defstyleattr)
private
void
init()
@override
protected
void onmeasure(int widthmeasurespec, int
heightmeasurespec)
else
float
bgheight;
if (heightmode ==measurespec.exactly)
else
float left = getpaddingleft() +bgradius;
stopx = bgwidth -bgradius;
startx =left;
bgcentery = bgheight / 2;
}@override
protected
void
ondraw(canvas canvas)
private
void
drawtext(canvas canvas)
canvas.drawtext(title, startx + (i * interval), bgcentery +textpadding, bgpaint);}}
}}private
boolean iscontains(int
i) }
return status || i ==maxstep;
}private
void
drawprogress(canvas canvas)
canvas.drawline(lastleft, bgcentery, lastleft + interval *prostep, bgcentery, propaint);
for (int i = 0; i <= prostep; i++) }}
private
void
drawbg(canvas canvas) }}
/*** 進度設定**
@param
progress 已完成到哪部
* @param
maxstep 總步驟
* @param
nodes 需要顯示對應節
* @param
titles 步驟名稱
*/public
void initprogress(int progress, int
maxstep, integer nodes, string titles)
/*** 進度設定**
@param
progress 已完成到哪部
*/public
void setprogress(int
progress)
/*** 把密度轉換為畫素
*/private
int dip2px(context context, float
px)
/*** 得到裝置的密度
*/private
float
getscreendensity(context context)
}
<控制項用法declare-styleable
name
="progressviewh"
>
<
attr
name
="h_bg_radius"
format
="dimension"
/>
<
attr
name
="h_pro_radius"
format
="dimension"
/>
<
attr
name
="h_bg_width"
format
="dimension"
/>
<
attr
name
="h_bg_color"
format
="color"
/>
<
attr
name
="h_pro_width"
format
="dimension"
/>
<
attr
name
="h_pro_color"
format
="color"
/>
<
attr
name
="h_text_padding"
format
="dimension"
/>
<
attr
name
="h_max_step"
format
="integer"
/>
<
attr
name
="h_text_size"
format
="dimension"
/>
<
attr
name
="h_text_color"
format
="color"
/>
<
attr
name
="h_pro_step"
format
="integer"
/>
declare-styleable
>
<nodeprogressview
android:id
="@+id/progress"
android:layout_width
="match_parent"
android:layout_height
="113dp"
android:paddingstart
="20dp"
="#a4a6a8"
="8dp"
="10dp"
="20"
="#48b46c"
='8dp'
="8"
="10dp"
="20dp"
="12sp"
/>
/*** 進度設定
** @param progress 已完成到哪一步
* @param maxstep 總步驟
* @param nodes 需要顯示對應節
* @param titles 步驟名稱
*/viewbinding.progress.initprogress(bean.clocknum, bean.dayslist[bean.dayslist.size - 1], bean.dayslist.totypedarray(), titles.totypedarray())
安卓帶節點進度條 自定義控制項
類似於這種進度條 其實這種進度條可以不用自定義view畫,可以利用現有的控制項組合成乙個控制項,其實就是乙個橫線,加上三個圓形的控制項,這裡你可以設定成按鈕,也可以是都可以。一下是 android layout width match parent android layout height 1dp...
安卓跨介面顯示進度條
在專案中推進中需要新增介面和介面之間的進度條顯示,這裡給出寫法。這裡假設頁面1跳轉到頁面2,先給出 結合 給出解釋 以下為頁面1中的關鍵 其中需要提前定義靜態進度條變數p,private static progressdialog p final handler handler2 new handl...
進度條,步驟條,
1,記錄一次步驟條來實現人數不同顯示的進度不同 效果如圖 廢話不多說 上 html檔案 已有 位武魂使共赴蒼嵐 3w預約 5w預約 10w預約 20w預約 30w預約 css awards progress awards progress cur awards progress cur.item0 ...