Android時間軸控件:Timeline-View
Android時間軸控件 (使用RecyclerView實現) is simple implementation used to display view like Tracking of shipment/order, steppers etc.
- Download the library folder and import to your root application folder. You can manually achieve this step with 3 steps:
- Paste the folder library into your application at the same level of your app, build and gradle folder
- Add to your settings.gradle file the following code line: "include ':app', ':timelineview'"
- 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 :
Screenshot of Sample Application
Quick Setup
1. Include library
Automatically with Gradle
dependencies { compile 'com.github.vipulasri:timelineview:1.0.0' }
Manual:
Manual - Using Android Studio:
-
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.
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
