闲来没事,对别人的的物流进度展示轴进行重构,先看看效果
下面是主要代码 一个自定义Viewpublic class LogisticsView extends View {
float width;
float nodeRadius;
Paint paint;
Context context;
/**
* 节点间隔
*/
int nodeDistance;
/**
* 边距
*/
int left = 40;
int top = 30;
int dWidth;
int dHeight;
public LogisticsView(Context context) {
super(context);
this.context = context;
init();
}
public LogisticsView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.LogisticsView);
width = typedArray.getDimension(R.styleable.LogisticsView_width, 5);
nodeRadius = typedArray.getDimension(R.styleable.LogisticsView_nodeRadius, 6);
init();
}
public LogisticsView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
paint.setColor(getResources().getColor(R.color.colorAccent));
paint.setAntiAlias(true);
nodeDistance = Dp2pxUtils.dip2px(context, 80);
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
dWidth = wm.getDefaultDisplay().getWidth();
dHeight = wm.getDefaultDisplay().getHeight();
}
LogisticsAdapter logisticsAdapter;
/**
* 设置适配数据
*/
public void setlogisticsAdapter(LogisticsAdapter logisticsAdapte
public class LogisticsView extends View {
float width;
float nodeRadius;
Paint paint;
Context context;
/**
* 节点间隔
*/
int nodeDistance;
/**
* 边距
*/
int left = 40;
int top = 30;
int dWidth;
int dHeight;
public LogisticsView(Context context) {
super(context);
this.context = context;
init();
}
public LogisticsView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.LogisticsView);
width = typedArray.getDimension(R.styleable.LogisticsView_width, 5);
nodeRadius = typedArray.getDimension(R.styleable.LogisticsView_nodeRadius, 6);
init();
}
public LogisticsView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
paint.setColor(getResources().getColor(R.color.colorAccent));
paint.setAntiAlias(true);
nodeDistance = Dp2pxUtils.dip2px(context, 80);
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
dWidth = wm.getDefaultDisplay().getWidth();
dHeight = wm.getDefaultDisplay().getHeight();
}
LogisticsAdapter logisticsAdapter;
/**
* 设置适配数据
*/
public void setlogisticsAdapter(LogisticsAdapter logisticsAdapte