package com.che300.price.component;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PointF;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
import com.che300.price.R;
import com.che300.price.util.UIUtil;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2016/6/23.
*/
/*
LineChartView m = (LineChartView) findViewById(R.id.LineChartView); // 这边是调用demo
List<LineChartView.ItemInfo> infos = new ArrayList<>();
LineChartView.ItemInfo info = new LineChartView.ItemInfo(14.36f,"201612");
LineChartView.ItemInfo info1 = new LineChartView.ItemInfo(11.36f,"201613");
LineChartView.ItemInfo info2 = new LineChartView.ItemInfo(13.36f,"201615");
LineChartView.ItemInfo info3 = new LineChartView.ItemInfo(12.36f,"201612");
LineChartView.ItemInfo info4= new LineChartView.ItemInfo(11.36f,"201612");
LineChartView.ItemInfo info5= new LineChartView.ItemInfo(11.36f,"201612");
infos.add(info);
infos.add(info1);
infos.add(info2);
infos.add(info3);
infos.add(info4);
infos.add(info5);
m.setPrices(infos);
<com.che300.price.component.LineChartView 这里是布局
android:id="@+id/LineChartView"
android:layout_width="match_parent"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_height="wrap_content" />
*/
public class LineChartView extends View {
private Paint mpaint;
private int width, heigth;
private final int DEFAULTWIDTH= 200; // 标注下的高度150dp
private Context context_;
public List<ItemInfo> prices = new ArrayList<>();
public List<PointF> pointFs = new ArrayList<>();
public int pricetipsize ;
public void setPrices(List<ItemInfo> prices) {
this.prices.clear();
this.prices.addAll(prices);
invalidate();
}
public LineChartView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public LineChartView(Context context) {
super(context);
}
public LineChartView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void init(Context context) {
this.context_ = context;
mpaint = new Paint();
mpaint.setAntiAlias(true);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int widthmode = MeasureSpec.getMode(widthMeasureSpec);
int hightmode = MeasureSpec.getMode(heightMeasureSpec);
int widthsize = MeasureSpec.getSize(widthMeasureSpec);
int higthsize = MeasureSpec.getSize(heightMeasureSpec);
if (widthmode == MeasureSpec.EXACTLY) {
width = widthsize;
} else {
width = UIUtil.getDisplayMetrics(context_).widthPixels;
}
if (hightmode == MeasureSpec.EXACTLY) {
heigth = higthsize;
} else {
heigth = UIUtil.dp2pxIn