Android時間軸控件:Timeline-View

jopen 8年前發布 | 71K 次閱讀 Android開發 移動開發 Timeline-View

Android時間軸控件 (使用RecyclerView實現) is simple implementation used to display view like Tracking of shipment/order, steppers etc.

    Screenshot of Sample Application

    Sample Application Apk

    Screenshot

    Quick Setup

    1. Include library

    Automatically with Gradle

    dependencies {
        compile 'com.github.vipulasri:timelineview:1.0.0' }

    Manual:

    Manual - Using Android Studio:

    • Download the library folder and import to your root application folder. You can manually achieve this step with 3 steps:
      1. Paste the folder library into your application at the same level of your app, build and gradle folder
      2. Add to your settings.gradle file the following code line: "include ':app', ':timelineview'"
      3. Rebuild the project
    • File → Project Structure → in Modules section click on "app" → Click on tab "Dependecies" → Click on the green plus → Module Dependecy → Select ":library"
    • Done

  • 2. Usage

  • In XML Layout :

  • 2. Usage

  • In XML Layout :

<com.vipul.hp_hp.timelineview.TimelineView
android:id="@+id/time_marker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="30dp"
android:paddingBottom="30dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
app:marker_size="25dp"
app:line_size="2dp"
app:line="@color/colorPrimary"/>

RecyclerView Holder : YourRecyclerViewHoldershould have an extra paramenter in constructor i.e viewType fromonCreateViewHolder. You would also have to call the methodinitLine(viewType)in constructor definition.
    public class TimeLineViewHolder extends RecyclerView.ViewHolder {
        public  TimelineView mTimelineView;

        public TimeLineViewHolder(View itemView, int viewType) {
            super(itemView);
            mTimelineView = (TimelineView) itemView.findViewById(R.id.time_marker);
            mTimelineView.initLine(viewType);
        }
    }

  • RecyclerView Adapter : overridegetItemViewTypemethod in Adapter
 @Override
    public int getItemViewType(int position) {
        return TimelineView.getTimeLineViewType(position,getItemCount());
    }

And pass theviewTypefromonCreateViewHolderto its Holder.

    @Override
    public TimeLineViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = View.inflate(parent.getContext(), R.layout.item_timeline, null);
        return new TimeLineViewHolder(view, viewType);
    }

For information : checkout sample app in repository.


項目主頁:http://www.baiduhome.net/lib/view/home/1450793316261

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!