Code Monkey home page Code Monkey logo

stepview's Introduction

StepView

introduce

StepView is extracted from the software developed by my company and do the reinforcement, divided into horizontal and vertical version, color size freely adjustable, flexible to use!

中文版在这里

UI

Download Demo

1 2

How to use

Gradle

compile 'com.xyz.step:step:1.0.4'

Maven

<dependency>
  <groupId>com.xyz.step</groupId>
  <artifactId>step</artifactId>
  <version>1.0.4</version>
  <type>pom</type>
</dependency>

Horizontal View

Attribute is introduced

Attribute Describe Type Default value Whether must
h_bg_radius Background circle radius dimension 5 No
h_pro_radius Has completed the radius of the circles dimension 2 No
h_bg_width Background line width dimension 3 No
h_bg_color Background Color color #cdcbcc No
h_pro_width The width of the line has been completed dimension 2 No
h_pro_color The completed color color #029dd5 No
h_text_padding Text and distance of the circle dimension 10 No
h_time_padding Time and distance of the circle dimension 15 No
h_max_step Total steps int 5 No
h_pro_step Step has been completed int 1 No
h_textsize textsize dimension 10 No

layout

<com.xyz.step.FlowViewHorizontal
        android:id="@+id/hflowview4"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:paddingLeft="30dp"
        app:h_bg_radius="6dp"
        app:h_bg_width='4dp'
        app:h_pro_radius='4dp'
        app:h_pro_width="2dp"
        app:h_text_padding='10dp'
        app:h_textsize='10dp'
        app:h_time_padding='17dp' />

Code

    /**
     * Progress Settings
     * @param progress  Have completed a few steps
     * @param maxStep  Total steps
     * @param titles   	    Step name
     * @param times      Every step of the completion time
     */
    public void setProgress(int progress, int maxStep, String[] titles, String[] times);
    
    /**
     * Color Settings
     * @param map <text,color>
     */
    public void setKeyColor(Map<String, String> map);

Vertical View

Attribute is introduced

Attribute Describe Type Default value Whether must
v_bg_radius Background circle radius dimension 5 No
v_pro_radius Has completed the radius of the circle dimension 2 No
v_bg_width Background line width dimension 3 No
v_bg_color Background Color color #cdcbcc No
v_pro_width The width of the line has been completed dimension 2 No
v_pro_color The completed color color #029dd5 No
v_interval interval dimension 80 No
v_bgPositionX In a horizontal position dimension 100 No
v_textPaddingLeft The distance of text and lines dimension 10 No
v_timePaddingRight The distance of time and lines dimension 15 No
v_max_step Total steps int 5 No
v_pro_step Step has been completed int 1 No
v_textsize Text size dimension 10 No
v_textMoveTop The text on the vertical distance dimension 5 No
v_timeMoveTop The time on the vertical distance dimension 4 No

layout

<com.xyz.step.FlowViewVertical
        android:id="@+id/vflow"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="10dp"
        android:paddingRight="10dp"
        android:paddingTop="10dp"
        app:v_bgPositionX="40dp"
        app:v_bg_color="#029dd5"
        app:v_bg_radius="8dp"
        app:v_bg_width="4dp"
        app:v_interval="80dp"
        app:v_max_step="10"
        app:v_pro_color="#cdcbcc"
        app:v_pro_radius="8dp"
        app:v_pro_step="9"
        app:v_pro_width="4dp"
        app:v_textMoveTop="7dp"
        app:v_textsize="14dp" />

Code

    /**
     * Progress Settings
     * @param progress Have completed a few steps
     * @param maxStep  Total steps
     * @param titles    Step description
     * @param times    Time description
     */
    public void setProgress(int progress, int maxStep, String[] titles, String[] times);
    
    
    /**
     *  Color Settings
     * @param map <text,color>
     */
    public void setKeyColor(Map<String, String> map);
    

Use attention

###All directions

  • When title[] and time[] uploading the null does not show the indicator、words and time.

  • Min steps sum(max_step)>=2 and >= finished steps(pro_step)

  • The unit of the font’s size is dp

  • The color setting of the concrete steps is according to the key from the map whether title[] contain or not to make a decision whether change or not

  • Only finished steps can set color individually, unfinished steps all use the color from bg_color

Transverse

  • Lateral indicator counts intervals between steps automatically
  • Lateral indicator is placed in the middle automatically, when you set paddingLeft ,you do not need to set paddingRight
  • Lateral indicator can not slide transversely

###Vertical

  • Vertical indicator need to set the intervals between steps(v_interval)
  • Vertical indicator can combine with ScrollView to get slide
  • Vertical indicator doesn’t use item reusing, you’d better use listview if the date size is bigger
  • Vertical indicator’s word drawing is different, which leads to words and *
  • steps nodes(O) not in the same horizontal, you can adapt v_textMove Top with v_timeMove Top

LICENSE 开源协议

Apache License Version 2.0

stepview's People

Contributors

zhangxuyang321 avatar

Watchers

James Cloos avatar W先生 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.