介绍
怎么在Android中使用StepView实现一个物流进度效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强>思路强>
思路:主要是进行了动态添加,根据上面的效果展示,创建一个子布的局,如下图所示(代码里面的布局图一个ImageView一个视图一个TextView),然后自定义一个MyVerticalView继承LinearLayout(注意设置方向),在MyVerticalView中根据数据来addview()就可以了
<强>代码强>
根据上面分析需要两个变量,现状后是为了根据状态设置不同图标的
private String 描述;//当前状态描述 ,private String 现状后,//当前状态(上面三个状态中的一个)
<强>完整强>
public class StepModel { ,public static  final String  STATE_PROCESSING=癙ROCESSING"//正在进行的状态 ,public static  final String  STATE_COMPLETED=癈OMPLETED"//已经完成的状态 ,public static  final String  STATE_DEFAULT=癉EFAULT"//结尾的默认状态 ,private String 描述;//当前状态描述 ,private String 现状后,//当前状态(上面三个状态中的一个) ,public StepModel (String 描述,String 现状后),{ this.description =,才能描述; 时间=this.currentState 才能;现状后; ,} ,public String  getCurrentState (), { return 才能;现状后; ,} ,public void  setCurrentState (String 现状后),{ 时间=this.currentState 才能;现状后; ,} ,public String  getDescription (), { return 才能;描述; ,} ,public void  setDescription (String 描述),{ this.description =,才能描述; ,} }
StepView
public class MyVerticalStepView extends LinearLayout { ,private ListmDatas =, new ArrayList<在();//下面给出了它的设置跟获取方法 ,private Context  mContext; ,public MyVerticalStepView (Context 上下文),{ 这才能(上下文,null); ,} ,public MyVerticalStepView (Context 上下文,AttributeSet attrs), { 这才能(上下文,attrs,, 0); ,} ,public MyVerticalStepView (Context 上下文,AttributeSet attrs,, int defStyleAttr), { 超级才能(上下文,attrs,, defStyleAttr);=mContext 才能;环境; ,} ,private void  init (), { setOrientation才能(垂直); 时间=mDatas 才能;getmDatas();//获取数据 for 才能;(int 小姐:=,0;,小姐:& lt;, mDatas.size();,我+ +),{ ,,//获取布的局,注意第二个参数一定是ViewGroup,否则margin 填充之类的属性将不能使用 ,,View itemview =, LayoutInflater.from (mContext) .inflate (R.layout.stepview_item,,这个,,假); ,,TextView description =, (TextView), itemview.findViewById (R.id.description_tv); ,,View line =, itemview.findViewById (R.id.line_v); ,,ImageView icon =, (ImageView), itemview.findViewById (R.id.stepicon_iv); ,,description.setText (mDatas.get (i) .getDescription ()); ,,//根据不同状态设置不同图标 ,,switch (mDatas.get (i) .getCurrentState ()), { ,,,case StepModel.STATE_COMPLETED: ,,,,icon.setImageResource (R.drawable.complted); ,,,,休息; ,,,case StepModel.STATE_DEFAULT: ,,,//结尾图标隐藏竖线 ,,,,line.setVisibility(了); ,,,,icon.setImageResource (R.drawable.default_icon); ,,,,休息; ,,,case StepModel.STATE_PROCESSING: ,,,,icon.setImageResource (R.drawable.attention); ,,,,休息; ,,} ,,this.addView (itemview); ,,} requestLayout才能();//重新绘制布的局 invalidate();//才能刷新当前界面 ,} ,public List 怎么在Android中使用StepView实现一个物流进度效果