之前看了一个别人写的物流进度的demo,自定义View用的挺好的,但是感觉太麻烦了,就自己写了一个简单的,思路很简单,上面是效果图。
思路
思路:主要是进行了动态添加,根据上面的效果展示,创建一个子布局,如下图所示(代码里面的布局图一个ImageView一个View一个TextView),然后自定义一个MyVerticalView继承LinearLayout(注意设置orientation),在MyVerticalView中根据数据来addview()就可以了
代码
Model
mode的具体变量是根据上面item的布局,我们需要知道当前的状态跟具体过程描述。状态分为下面三种情况:
STATE_PROCESSING:正在进行中(图标如下)
STATE_COMPLETED:已经完成(图标如下)
STATE_DEFAULT:最后默认步骤(图标如下)
根据上面分析需要两个变量,currentState是为了根据状态设置不同图标的
private String description;//当前状态描述
private String currentState;//当前状态(上面三个状态中的一个)
完整
public class StepModel {
public static final String STATE_PROCESSING="PROCESSING";//正在进行的状态
public static final String STATE_COMPLETED="COMPLETED";//已经完成的状态
public static final String STATE_DEFAULT="DEFAULT";//结尾的默认状态
private String description;//当前状态描述
private String currentState;//当前状态(上面三个状态中的一个)
public StepMod