All Projects → alorma → Timelineview

alorma / Timelineview

Licence: apache-2.0
Cute timeline view for android

Programming Languages

kotlin
9241 projects

TimelineView

Codacy Badge Download Build Status

This library provide android View to add Timeline to your application.

image

Download

Via gradle:

dependencies {
	compile 'com.github.alorma:timelineview:2.3.0'
}

Usage

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>

Custom attributes

Line

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

Indicator

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

Advanced - Custom shape

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);

Contributors

License

TimelineView by Bernat Borras is licensed under a Apache License 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].