1、加入包
dependencies {
compile 'com.github.vipulasri:timelineview:1.0.5'
}
2、布局中使用
<com.github.vipulasri.timelineview.TimelineView
android:id="@+id/time_marker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:markerSize="20dp"
app:lineSize="2dp"
app:line="@color/colorPrimary"/>
3、部分方法
Attribute Name | Default Value | Description |
---|---|---|
app:marker="@drawable/marker" | Green Colored Oval Drawable | 设置集可拉的标志 |
app:markerSize="25dp" | 25dp | 设置标记大小 |
app:markerInCenter="false" | true | 如果是“true”,则设置行中心的标记 |
app:line="@color/primarColor" | Dark Grey Line | 设置线的颜色 |
app:lineSize="2dp" | 2dp | 设置线的宽度 |
app:lineOrientation="horizontal" | vertical | 设置线的方向是水平还是垂直 |
app:linePadding="5dp" | 0dp | 在标记上设置行填充 |
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);
}
}
循环视图适配器:在适配器中覆盖getItemViewType方法
@Override
public int getItemViewType(int position) {
return TimelineView.getTimeLineViewType(position,getItemCount());
}
将viewType从onCreateViewHolder传递给它的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);
}
github地址:https://github.com/vipulasri/Timeline-View