StepViewAndroid
An Android library (Step View) written in kotlin to display steps (without any max-min limits) along with the status/description using a single view. It also supports some really cool features.
Install / Use
/learn @params-ing/StepViewAndroidREADME
StepViewAndroid
An Android library written in kotlin to display steps (without any max-min limits) along with the status/description. It also supports some really cool features.
Custom Views Tutorial
For any information on how to create custom views you can refer to the link below.<br /> https://medium.com/mindorks/how-to-create-custom-views-141dc0570e57
Setup
implementation 'com.params.stepview:stepview:1.0.2'
Usage
A customised StepView

-
Set step count and current count.
-
Set different dimensions for circle radius, line length, line gap, stroke width, line width, text size of label (step count).
-
Set status data using
android:entries -
Chose a color mode i.e fill, stroke or both using
circleColorType -
Stroke color (circle), fill color (circle), line color & label text color can be set differently for completed, current & incomplete states.
<params.com.stepview.StatusViewScroller
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:stepCount="5"
app:currentCount="4"
app:drawLabels="true"
android:entries="@array/status"
app:circleColorType="fillStroke"
app:lineGap="5dp"
app:lineWidth="3dp"
app:lineColor="@android:color/black"
app:lineColorIncomplete="#B4B7BA"
app:lineColorCurrent="#91A8D0"
app:circleColor="#CC004B8D"
app:circleColorCurrent="#004B8D"
app:circleColorIncomplete="#BCBCBE"
app:textColorLabels="@android:color/white"
app:textColorLabelsCurrent="@android:color/white"
app:textColorLabelsIncomplete="@android:color/black"
app:circleStrokeWidth="4dp"
app:circleStrokeColorCurrent="#91A8D0"
app:textSizeLabels="15sp"
app:completeDrawable="@drawable/ic_done_black_24dp" />
Some more customisations

- Set a zoom value to your current step
- Set different drawables for completed, current & incomplete states.
app:currentStepZoom="0.5"
app:completeDrawable="@drawable/ic_satisfied_black_24dp"
app:currentDrawable="@drawable/ic_dissatisfied_black_24dp"
app:incompleteDrawable="@drawable/ic_very_dissatisfied_black_24dp"
Step status customisations

- Multiline Text Support: View automatically adjusts line length to make sure words or alphabets from one line do not crossover to next line.
However, If you want to strictly obey line length set
app:strictObeyLineLength= "true". - To add font to status simply refer to the font file from res/font directory.
- Ensure a minimum margin between status texts in case they are too close.
- Set top margin of a status text from its corresponding circle.
- Align all status at the same level in case, a zoom level is set to current step.
- Set text color to status.
app:currentStepZoom="0.3"
app:statusFont="@font/lekton_r"
app:statusTopMargin="15dp"
app:minStatusAdjacentMargin="5dp"
app:alignStatusWithCurrent="true"
app:textColorStatus="#000000"
Scrolling property

- The view can be scrolled if the content exceeds the available width.
- You can also scroll to a particular step by calling
statusViewScroller.scrollToStep(stepCount)
Changing properties at runtime
- You can also easily change any property at runtime as described below.
statusViewScroller.statusView.run {
currentCount = 2
circleFillColorCurrent = Color.RED
}
Related Skills
claude-opus-4-5-migration
99.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Agent Development
99.2kThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
Command Development
99.2kThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
