This library provide android View
to add Timeline to your application.
Via gradle:
dependencies {
compile 'com.github.alorma:timelineview:2.3.0'
}
Add View to your layout
<Layout
xmlns:app="http://schemas.android.com/apk/res-auto">
...
<com.alorma.timeline.RoundTimelineView
android:id="@+id/timeline1"
android:layout_width="?android:listPreferredItemHeight"
android:layout_height="?android:listPreferredItemHeight"
app:timeline_indicatorSize="20dp"
app:timeline_lineStyle="linear"
app:timeline_type="middle"/>
...
</Layout>
Or
<Layout
xmlns:app="http://schemas.android.com/apk/res-auto">
...
<com.alorma.timeline.SquareTimelineView
android:id="@+id/timeline1"
android:layout_width="?android:listPreferredItemHeight"
android:layout_height="?android:listPreferredItemHeight"
app:timeline_indicatorSize="20dp"
app:timeline_lineStyle="linear"
app:timeline_type="middle"/>
...
</Layout>
Attr name | Attr format | Example |
---|---|---|
timeline_lineWidth | dimension | 20dp |
timeline_lineColor | color | @color/red / #FF0000 |
timeline_lineStyle | enum | dashed / linear |
timeline_type | enum | hidden / start / middle / line / end |
Attr name | Attr format | Example |
---|---|---|
timeline_indicatorSize | dimension | 20dp |
timeline_indicatorColor | color | @color/red / #FF0000 |
timeline_alignment | enum | start / middle / end |
timeline_drawInternal | boolean | true / false |
timeline_internalColor | color | @color/red / #FF0000 |
timeline_internalDrawable | reference | @drawable / @color |
timeline_internalPadding | dimension | 20dp |
If you want to create a new shape for indicator (like a diamond), you can! Just extends TimelineView
and implement the following methods:
protected abstract void drawIndicator(Canvas canvas, Paint paintStart, float centerX,
float centerY, float size);
protected abstract void drawInternal(Canvas canvas, Paint paintInternal, float centerX,
float centerY, float size);
protected abstract void drawBitmap(Canvas canvas, float left, float top, int size);
TimelineView by Bernat Borras is licensed under a Apache License 2.0.