Android-基於事件進度的庫

####TimeLineProgress ###簡介 一個能夠做爲時間線所使用的庫,使用起來超級簡單,可是效果倒是很棒的,你能夠用在計劃表,並支持二級階段計劃。你也能夠用做招聘進度,並能夠細粒化的指示當前階段。總之它有很廣的應用場景。本庫的靈感來源於阿里巴巴的實習生招聘的後臺進度條,想着若是能在手機端有一個相似的功能塊的話,必定是不錯的,因此花了兩天的時間繪製了出來。在實現的過程當中,我盡力的解決了所遇到的BUG,可是使用過程當中也不免遇到一些其餘的問題,歡迎指出。java

輸入圖片說明 ###如何使用android

  • 首先引入TimeLineProgress.java到你的項目中,並導入自定義屬性文件。
  • 在xml文件中導入之
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.wolfcoder.mystudy.MainActivity">
    <com.wolfcoder.mystudy.view.TimeLineProgress
        android:layout_width="match_parent"
        android:layout_height="100dp" />
</LinearLayout>
  • 在MainActivity文件中初始化必要的數據
  • 初始化時間點(ArrayList<String>)
ArrayList<String> timePosition = new ArrayList<>();
        timePosition.add("筆試");
        timePosition.add("面試");
        timePosition.add("電面");
        timePosition.add("offer");
  • 初始化二級時間點(ArrayList<ArrayList<String>>)
ArrayList<String> list = new ArrayList<>();
        list.add("網申");
        list.add("審覈");
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("筆試");
        list1.add("面試");
        list1.add("offer");
        ArrayList<String> list2 = new ArrayList<>();
        list2.add("入職");
        list2.add("成功");
        ArrayList<String> list3 = new ArrayList<>();
        list3.add("報道");
        subTimePositionMsg.add(list);
        subTimePositionMsg.add(list1);
        subTimePositionMsg.add(null);
        subTimePositionMsg.add(list3);

######NOTICE:如何某個時間點沒有二級時間點,就令其爲null,不能省略不寫git

###更換狀態github

  • 實際上,上面的步驟已經能夠生成一個時間線進度條了,可是爲了能指示時間線當前所處的位置,你還須要調用setCurrentStatus(index,subIndex)來指示當前的位置。 如我想讓當前位置處於,面試下的筆試狀態。下標是從0開始的
progress.setCurrentStatus(2,1);

-如想讓狀態中止在某狀態下,須要調用setStop(index) 例如我想在面試狀態下中止面試

progress.setStop(2);

###自定義屬性code

<attr name="reachColor" format="color"/> 到達部分的顏色
        <attr name="unReachColor" format="color"/> 未到達部分的顏色
        <attr name="clockIconColor" format="color"/> 最左端時鐘圖標的顏色
        <attr name="stopColor" format="color"/> 中止狀態下的ICON
        <attr name="clockWidth" format="dimension"/> 最左端時鐘的寬度
        <attr name="timePositionWidth" format="dimension"/> 時間點的寬度
        <attr name="subTimePostionWidth" format="dimension"/> 二級時間點的半徑

源碼地址:https://github.com/ccqy66/TimeLineProgressorm

相關文章
相關標籤/搜索