Android自定義控制元件 多樣式進度View
阿新 • • 發佈:2018-12-29
系統進度條賊不好用,大小設定不確定,寬高又不確定,所以自信開發了一套還算是比較完備的進度控制元件。
效果大概就這麼多,背景和進度背景都可以使用顏色,或者圖片,圓角,以及進度條寬高,遊標等等屬性。
一共3個控制元件:MHorProgressBar
MVerProgressBar
MRingProgressBar
前兩個具有觸控移動進度的功能。
<!--MProgressBar相關-->
<declare-styleable name="MProgressBar">
<attr name="maxprogress" format ="float"/> <!--設定最大值--> <!--通用-->
<attr name="durprogress" format="float"/> <!--設定當前值--> <!--通用-->
<attr name="bgdrawable" format="color|reference"/> <!--進度條背景顏色或者圖片--> <!--通用-->
<attr name="bgbordercolor" format="color" /> <!--底部邊框顏色 預設與底色相同--> <!--通用-->
<attr name="bgborderwidth" format="dimension"/> <!--底部邊框寬度--> <!--通用-->
<attr name="fontdrawable" format="color|reference"/> <!--進度顏色或者圖片--> <!--通用-->
<attr name="cursordrawable" format ="reference"/> <!--遊標圖示--> <!--通用-->
<attr name="cursordrawable_width" format="dimension"/> <!--遊標圖示寬度--> <!--通用-->
<attr name="cursordrawable_height" format="dimension"/> <!--遊標圖示高度--> <!--通用-->
<attr name="progresswidth" format="dimension"/> <!--進度條寬度 預設最大--> <!--通用-->
<attr name="fontdrawable_type"> <!--進度顏色或者圖片顯示型別--> <!--MVerProgressBar MHorProgressBar-->
<enum name="clamp" value="0"/> <!--拉伸-->
<enum name="repeat" value="1"/> <!--重複-->
<enum name="cover" value="2"/> <!--覆蓋 一般適用上層圖片覆蓋下層圖片,通常bgdrawable_type=clamp 詳見Sample - id:mpb_5-->
</attr>
<attr name="cantouch" format="boolean"/> <!--是否可以點選--> <!--MVerProgressBar MHorProgressBar-->
<attr name="bgdrawable_type"> <!--進度條背景顏色或者圖片顯示型別--> <!--MVerProgressBar MHorProgressBar-->
<enum name="clamp" value="0"/> <!--拉伸-->
<enum name="repeat" value="1"/> <!--重複-->
</attr>
<attr name="radius" format="dimension"/> <!--進度條圓角半徑--> <!--MVerProgressBar MHorProgressBar-->
<attr name="startLeftOrRight"> <!--進度方向:從左開始/從右開始--><!--進度方向:逆時針/順時針--> <!--MHorProgressBar MRingProgressBar-->
<enum name="left" value="0"/>
<enum name="right" value="1"/>
</attr>
<attr name="startTopOrBottom"> <!--進度方向:從下開始/還是從上開始--> <!--MVerProgressBar-->
<enum name="bottom" value="0"/>
<enum name="top" value="1"/>
</attr>
<attr name="startangle" format="integer"/> <!--開始角度--> <!--MRingProgressBar-->
</declare-styleable>