Android自定義控件 多樣式進(jìn)度View

??系統(tǒng)進(jìn)度條賊不好用,大小設(shè)置不確定,寬高又不確定,所以自信開發(fā)了一套還算是比較完備的進(jìn)度控件。



效果大概就這么多,背景和進(jìn)度背景都可以使用顏色,或者圖片,圓角,以及進(jìn)度條寬高,游標(biāo)等等屬性。
一共3個(gè)控件:MHorProgressBar MVerProgressBar MRingProgressBar 前兩個(gè)具有觸摸移動(dòng)進(jìn)度的功能。

<!--MProgressBar相關(guān)-->
    <declare-styleable name="MProgressBar">
        <attr name="maxprogress" format="float"/>    <!--設(shè)置最大值-->   <!--通用-->
        <attr name="durprogress" format="float"/>    <!--設(shè)置當(dāng)前值-->  <!--通用-->
        <attr name="bgdrawable" format="color|reference"/>    <!--進(jìn)度條背景顏色或者圖片--> <!--通用-->
        <attr name="bgbordercolor" format="color"/>  <!--底部邊框顏色 默認(rèn)與底色相同-->   <!--通用-->
        <attr name="bgborderwidth" format="dimension"/> <!--底部邊框?qū)挾?->   <!--通用-->
        <attr name="fontdrawable" format="color|reference"/>    <!--進(jìn)度顏色或者圖片--> <!--通用-->
        <attr name="cursordrawable" format="reference"/>     <!--游標(biāo)圖標(biāo)-->   <!--通用-->
        <attr name="cursordrawable_width" format="dimension"/>   <!--游標(biāo)圖標(biāo)寬度-->  <!--通用-->
        <attr name="cursordrawable_height" format="dimension"/>   <!--游標(biāo)圖標(biāo)高度-->   <!--通用-->
        <attr name="progresswidth" format="dimension"/>   <!--進(jìn)度條寬度  默認(rèn)最大-->  <!--通用-->

        <attr name="fontdrawable_type">    <!--進(jìn)度顏色或者圖片顯示類型-->  <!--MVerProgressBar MHorProgressBar-->
            <enum name="clamp" value="0"/>   <!--拉伸-->
            <enum name="repeat" value="1"/>   <!--重復(fù)-->
            <enum name="cover" value="2"/>  <!--覆蓋  一般適用上層圖片覆蓋下層圖片,通常bgdrawable_type=clamp  詳見(jiàn)Sample - id:mpb_5-->
        </attr>

        <attr name="cantouch" format="boolean"/>  <!--是否可以點(diǎn)擊-->   <!--MVerProgressBar MHorProgressBar-->

        <attr name="bgdrawable_type">    <!--進(jìn)度條背景顏色或者圖片顯示類型-->  <!--MVerProgressBar MHorProgressBar-->
            <enum name="clamp" value="0"/>   <!--拉伸-->
            <enum name="repeat" value="1"/>   <!--重復(fù)-->
        </attr>

        <attr name="radius" format="dimension"/>    <!--進(jìn)度條圓角半徑--> <!--MVerProgressBar MHorProgressBar-->
        <attr name="startLeftOrRight">    <!--進(jìn)度方向:從左開始/從右開始--><!--進(jìn)度方向:逆時(shí)針/順時(shí)針-->  <!--MHorProgressBar MRingProgressBar-->
            <enum name="left" value="0"/>
            <enum name="right" value="1"/>
        </attr>
        <attr name="startTopOrBottom">    <!--進(jìn)度方向:從下開始/還是從上開始-->  <!--MVerProgressBar-->
            <enum name="bottom" value="0"/>
            <enum name="top" value="1"/>
        </attr>
        <attr name="startangle" format="integer"/>    <!--開始角度--> <!--MRingProgressBar-->
    </declare-styleable>

具體使用請(qǐng)移步https://github.com/ZhangQinhao/MProgressBar,Sample中具備上述進(jìn)度的實(shí)現(xiàn)方式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,263評(píng)論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,229評(píng)論 4 61
  • 我希望有個(gè)如你一般的人。如這山間清晨一般明亮清爽的人,如奔赴古城道路上陽(yáng)光一般的人,溫暖而不炙熱,覆蓋我所有肌膚。...
    夢(mèng)小北閱讀 295評(píng)論 2 3
  • 青春不是年華,而是心境;青春不是桃面、丹唇、柔膝,而是深沉的意志,恢宏的想象,炙熱的戀情;青春是生命深泉的不斷涌流...
    既央_閱讀 329評(píng)論 0 0
  • 風(fēng)云一起來(lái),黑云立馬跟上。雨滴已落下。不一會(huì)便打濕了窗,只見(jiàn)天空一片灰。 雨像是一滴一滴下來(lái),突然撞擊著地面,拍打...
    李玨J閱讀 284評(píng)論 0 0