public void setupView(List strings,String currentStr) {
if(TextUtils.isEmpty(currentStr) || strings ==null || strings.isEmpty()
|| strings.indexOf(currentStr) <0) {
setVisibility(View.GONE);
return;
}
setVisibility(View.VISIBLE);
setOrientation(HORIZONTAL);
for(int i = 0; i < strings.size(); i++) {
//每个item状态总父布局
LinearLayout itemAllLinearLayout =new LinearLayout(mContext);
LayoutParams layoutParams =new LayoutParams(0,LayoutParams.WRAP_CONTENT,1.0f);
itemAllLinearLayout.setLayoutParams(layoutParams);
itemAllLinearLayout.setOrientation(LinearLayout.VERTICAL);
addView(itemAllLinearLayout);
//图标和线条父布局
LinearLayout imageAndLineLinearLayout = new LinearLayout(mContext);
LayoutParams layoutParams1
= new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
imageAndLineLinearLayout.setLayoutParams(layoutParams1);
imageAndLineLinearLayout.setGravity(Gravity.CENTER);
imageAndLineLinearLayout.setOrientation(LinearLayout.HORIZONTAL);
//左边线条
LayoutParams layoutParams2 =new LayoutParams(0,DensityUtil.dip2px(mContext,1),1.0f);
View leftView = newView(mContext);
leftView.setLayoutParams(layoutParams2);
//中间状态图标
LayoutParams layoutParams3 =new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
ImageView stateImageView =new ImageView(mContext);
stateImageView.setLayoutParams(layoutParams3);
//右边线条
LayoutParams layoutParams4 =new LayoutParams(0,DensityUtil.dip2px(mContext,1),1.0f);
View rightView =new View(mContext);
rightView.setLayoutParams(layoutParams4);
//状态显示值
LayoutParams layoutParams5 =new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
TextView nameTextView =new TextView(mContext);
nameTextView.setGravity(Gravity.CENTER);
nameTextView.setLayoutParams(layoutParams5);
nameTextView.setTextSize(TEXT_SIZE);
nameTextView.setTextColor(mContext.getResources().getColor(R.color.ac7));
imageAndLineLinearLayout.addView(leftView);
imageAndLineLinearLayout.addView(stateImageView);
imageAndLineLinearLayout.addView(rightView);
itemAllLinearLayout.addView(imageAndLineLinearLayout);
itemAllLinearLayout.addView(nameTextView);
nameTextView.setText(strings.get(i));
if(i ==0) {
leftView.setBackgroundColor(mContext.getResources().getColor(R.color.transparent));
rightView.setBackgroundColor(mContext.getResources().getColor(R.color.ac2));
}else if(i == strings.size() -1) {
rightView.setBackgroundColor(mContext.getResources().getColor(R.color.transparent));
leftView.setBackgroundColor(mContext.getResources().getColor(R.color.ac2));
}else{
rightView.setBackgroundColor(mContext.getResources().getColor(R.color.ac2));
leftView.setBackgroundColor(mContext.getResources().getColor(R.color.ac2));
}
if(i < ongoingIndex) {
stateImageView.setImageResource(R.drawable.icon_step_finish);
}else if(i == ongoingIndex) {
nameTextView.setTextColor(mContext.getResources().getColor(R.color.ac1));
stateImageView.setImageResource(R.drawable.icon_step_current);
} else {
stateImageView.setImageResource(R.drawable.icon_step_future);
}
}