rice()),p.x-(getDefaultTipSizeWidth()/2),p.y-UIUtil.dp2pxInt(context_,8),mpaint); // 8 是又圆心到上面的距离 5+3
}
}
public void drawCanvasBg( Canvas canvas){
mpaint.setStyle(Paint.Style.FILL);
mpaint.setColor(Color.argb(0x44, 0xff, 0x66, 0x00));
Path path= new Path();
for (int i = 0; i < pointFs.size(); i++) {
PointF p = pointFs.get(i);
path.lineTo(p.x,p.y);
if (i==pointFs.size()-1){
path.lineTo(p.x,heigth*3/4);
path.lineTo(pointFs.get(0).x,heigth*3/4);
path.lineTo(pointFs.get(0).x,pointFs.get(0).y);
}
}
canvas.drawPath(path,mpaint);
}
public void drawCanvasButtom( Canvas canvas){
mpaint.setStyle(Paint.Style.FILL);
mpaint.setColor(Color.BLACK);
mpaint.setTextSize(pricetipsize);
mpaint.setStrokeWidth(3);
for (int i = 0; i <= pointFs.size(); i++) {
int buttomwidth = width/pointFs.size();
mpaint.setColor(getResources().getColor(R.color.line));
canvas.drawLine(buttomwidth*i,heigth*3/4,buttomwidth*i,heigth*3/4+getDefaultScale()*UIUtil.dp2pxFloat(context_,10),mpaint);
mpaint.setColor(getResources().getColor(R.color.text2));
if (i==pointFs.size()){
return;
}
canvas.drawText(prices.get(i).getYear(),buttomwidth*i+(buttomwidth-getDefaultScale()*UIUtil.dp2pxInt(context_,38))/2
,heigth*3/4+pricetipsize+UIUtil.dp2pxInt(context_,10)*getDefaultScale(),mpaint);
}
}
public float getDeviationPrice() { // 获取最大与最小值直接的差值
float max = 0;
for (ItemInfo info : prices) {
if (info.price >= max) {
max = info.price;
}
}
return max - getMinPrice();
}
public float getMinPrice() { // 获取最大与最小值直接的差值
float min = Integer.MAX_VALUE;
for (ItemInfo info : prices) {
if (info.price<=min){
min=info.price;
}
}
return min;
}
public PointF getStartPostion(int postion , float price){
PointF p = new PointF();
int contentheight = heigth*1/4 -(pricetipsize+UIUtil.dp2pxInt(context_, 10));
p.y = contentheight-(price-getMinPrice())*contentheight/getDeviationPrice()+(pricetipsize+UIUtil.dp2pxInt(context_, 10)); // 这个10dp 是默认留白
p.x = width/prices.size()*postion+width/(2*prices.size());
return p;
}
public int getDefaultTipSize(){
return (int)(getDefaultScale()*UIUtil.dp2pxInt(context_,15));
}
public int getDefaultTipSizeWidth(){ //30 是在prd 上面的标注默认值
return (int)(getDefaultScale()*UIUtil.dp2pxInt(context_,30));
}
public int getDefaultButtomHeight(){ //30 是在prd 上面的标注默认值
return (int)(getDefaultScale()*UIUtil.dp2pxInt(context_,10)); //底部10dip
}
public float getDefaultScale(){
return (heigth*3/4)/ (float)UIUtil.dp2pxInt(context_, DEFAULTWIDTH);
}
public static class ItemInfo{
private float price;
private String year;
public ItemInfo(float price, String year) {
this.price = price;
this.year = year;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
}
|