Commit 1dffc346557ed29454d9376312a3f529b67a94f4

Authored by 陶汉栋
1 parent 0cbfbb68

no message

.idea/misc.xml
... ... @@ -24,7 +24,7 @@
24 24 </value>
25 25 </option>
26 26 </component>
27   - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
  27 + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
28 28 <output url="file://$PROJECT_DIR$/build/classes" />
29 29 </component>
30 30 <component name="ProjectType">
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportDetialFragment.java
... ... @@ -9,11 +9,15 @@ import android.view.View;
9 9  
10 10 import com.share.mvpsdk.base.BasePresenter;
11 11 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
  12 +import com.share.mvpsdk.utils.DateUtils;
  13 +import com.share.mvpsdk.view.chartview.ChartView;
  14 +import com.share.mvpsdk.view.chartview.data.InputData;
12 15 import com.shunzhi.parent.R;
13 16 import com.shunzhi.parent.adapter.DeyuDetialAdapter;
14 17 import com.shunzhi.parent.bean.report.DeyuDetialBean;
15 18  
16 19 import java.util.ArrayList;
  20 +import java.util.Date;
17 21 import java.util.List;
18 22  
19 23 /**
... ... @@ -25,6 +29,8 @@ public class ReportDetialFragment extends BaseMVPCompatFragment {
25 29 private RecyclerView recycle_deyu;
26 30 private DeyuDetialAdapter deyuDetialAdapter;
27 31 List<DeyuDetialBean>list=new ArrayList<>();
  32 +
  33 + private ChartView chartView;
28 34 @NonNull
29 35 @Override
30 36 public BasePresenter initPresenter() {
... ... @@ -39,6 +45,7 @@ public class ReportDetialFragment extends BaseMVPCompatFragment {
39 45 @Override
40 46 public void initUI(View view, @Nullable Bundle savedInstanceState) {
41 47 recycle_deyu=view.findViewById(R.id.recycle_deyu);
  48 + chartView=view.findViewById(R.id.chartView);
42 49 recycle_deyu.setLayoutManager(new LinearLayoutManager(getActivity()));
43 50 deyuDetialAdapter=new DeyuDetialAdapter(getActivity());
44 51 DeyuDetialBean deyuDetialBean=new DeyuDetialBean();
... ... @@ -48,6 +55,20 @@ public class ReportDetialFragment extends BaseMVPCompatFragment {
48 55 deyuDetialAdapter.addAll(list);
49 56 recycle_deyu.setAdapter(deyuDetialAdapter);
50 57  
  58 + initChartViews();
  59 +
  60 + }
  61 +
  62 + private void initChartViews() {
  63 +
  64 + chartView.setColors(R.color.textColor,R.color.huodong_blue,R.color.gray);
  65 + List<InputData> inputDataList=new ArrayList<>();
  66 + for (int i = 0; i < 10; i++) {
  67 + InputData inputData=new InputData((new Date().getTime()-(10-i)*24*60*60*1000),10*i);
  68 + inputDataList.add(inputData);
  69 + }
  70 +
  71 + chartView.setChartPaths(inputDataList);
51 72  
52 73 }
53 74 }
... ...
app/src/main/res/layout/fragment_report_detial.xml
... ... @@ -160,12 +160,19 @@
160 160  
161 161 </LinearLayout>
162 162  
163   - <LinearLayout
  163 + <FrameLayout
164 164 android:layout_width="match_parent"
165   - android:layout_height="wrap_content"
  165 + android:layout_height="150dp"
166 166 android:layout_marginTop="@dimen/size_dp_10">
167 167  
  168 + <com.share.mvpsdk.view.chartview.ChartView
  169 + android:layout_width="match_parent"
  170 + android:layout_height="match_parent"
  171 + android:id="@+id/chartView"
  172 + />
  173 +
168 174 <TextView
  175 + android:visibility="gone"
169 176 android:layout_width="match_parent"
170 177 android:layout_height="200dp"
171 178 android:text="图表控件"
... ... @@ -174,7 +181,7 @@
174 181 android:textColor="@color/md_red_500"
175 182 android:background="@color/huodong_blue" />
176 183  
177   - </LinearLayout>
  184 + </FrameLayout>
178 185  
179 186  
180 187 <android.support.v7.widget.RecyclerView
... ...
mvpsdk/src/main/java/com/share/mvpsdk/utils/DateUtils.java
... ... @@ -54,7 +54,10 @@ public class DateUtils {
54 54 return str;
55 55 }
56 56  
57   -
  57 + public static String format(long millis){
  58 + SimpleDateFormat format = new SimpleDateFormat("dd", Locale.getDefault());
  59 + return format.format(millis);
  60 + }
58 61  
59 62 /**
60 63 * 获取日期 PATTERN_DATE 部分
... ... @@ -247,4 +250,5 @@ public class DateUtils {
247 250 public static String calendar2str(Calendar calendar, String format) {
248 251 return date2str(calendar.getTime(), format);
249 252 }
  253 +
250 254 }
... ...
mvpsdk/src/main/java/com/share/mvpsdk/utils/ValueUtils.java 0 → 100644
... ... @@ -0,0 +1,181 @@
  1 +package com.share.mvpsdk.utils;
  2 +
  3 +import android.support.annotation.NonNull;
  4 +import android.support.annotation.Nullable;
  5 +import android.support.v4.app.NotificationCompat;
  6 +import android.util.Log;
  7 +
  8 +
  9 +import com.share.mvpsdk.view.chartview.data.Chart;
  10 +import com.share.mvpsdk.view.chartview.data.DrawData;
  11 +import com.share.mvpsdk.view.chartview.data.InputData;
  12 +
  13 +import java.util.ArrayList;
  14 +import java.util.List;
  15 +import java.util.ListIterator;
  16 +import java.util.concurrent.TimeUnit;
  17 +
  18 +public class ValueUtils {
  19 +
  20 + public static long getCorrectedMaxValue(long maxValue) {
  21 + for (long value = maxValue; value >= Chart.CHART_PART_VALUE; value--) {
  22 + if (isRightValue(value)) {
  23 + return value;
  24 + }
  25 + }
  26 +
  27 + return maxValue;
  28 + }
  29 +
  30 + public static long max(@Nullable List<InputData> dataList) {
  31 + long maxValue = 0;
  32 +
  33 + if (dataList == null || dataList.isEmpty()) {
  34 + return maxValue;
  35 + }
  36 +
  37 + for (InputData data : dataList) {
  38 + if (data.valueY > maxValue) {
  39 + maxValue = data.valueY;
  40 + }
  41 + }
  42 +
  43 + return maxValue;
  44 + }
  45 +
  46 + private static boolean isRightValue(long value) {
  47 + long valueResidual = value % Chart.CHART_PART_VALUE;
  48 + return valueResidual == 0;
  49 + }
  50 +
  51 + @NotificationCompat.NotificationVisibility
  52 + public static List<DrawData> getDrawData(@Nullable Chart chart) {
  53 + if (chart == null || chart.getInputDataList().isEmpty()) {
  54 + return new ArrayList<>();
  55 + }
  56 +
  57 + List<InputData> dataList = chart.getInputDataList();
  58 + correctDataListSize(dataList);//移除多余的数据
  59 + return createDrawDataList(chart, createValueList(dataList));
  60 + }
  61 +
  62 + private static void correctDataListSize(@NonNull List<InputData> dataList) {
  63 + if (dataList.size() < Chart.MAX_ITEMS_COUNT) {
  64 + addLackingItems(dataList);
  65 +
  66 + } else if (dataList.size() > Chart.MAX_ITEMS_COUNT) {
  67 + removeExcessItems(dataList);
  68 + }
  69 + }
  70 +
  71 + private static void addLackingItems(@NonNull List<InputData> dataList) {
  72 + for (int i = dataList.size(); i < Chart.MAX_ITEMS_COUNT; i++) {
  73 + long millis = dataList.get(0).valueX - TimeUnit.DAYS.toMillis(1);
  74 + if (millis < 0) {
  75 + millis = 0;
  76 + }
  77 +
  78 + dataList.add(0, new InputData(0, millis));
  79 + }
  80 + }
  81 +
  82 + private static void removeExcessItems(@NonNull List<InputData> dataList) {
  83 + for (ListIterator<InputData> iterator = dataList.listIterator(); iterator.hasNext(); ) {
  84 + if (iterator.nextIndex() > Chart.MAX_ITEMS_COUNT) {
  85 + iterator.remove();
  86 + return;
  87 + }
  88 + iterator.next();
  89 + }
  90 + }
  91 +
  92 + private static List<Float> createValueList(@NonNull List<InputData> dataList) {
  93 + List<Float> valueList = new ArrayList<>();
  94 + long topValue = ValueUtils.max(dataList);//取最大值
  95 +
  96 + for (InputData data : dataList) {
  97 + float value = (float) data.valueY / topValue;
  98 + valueList.add(value);
  99 + }
  100 +
  101 + return valueList;
  102 + }
  103 +
  104 + @NonNull
  105 + private static List<DrawData> createDrawDataList(@NonNull Chart chart, @NonNull List<Float> valueList) {
  106 + List<DrawData> drawDataList = new ArrayList<>();
  107 + for (int i = 0; i < valueList.size() - 1; i++) {
  108 + DrawData drawData = createDrawData(chart, valueList, i);
  109 + drawDataList.add(drawData);
  110 + }
  111 + return drawDataList;
  112 + }
  113 +
  114 + @NonNull
  115 + private static DrawData createDrawData(@NonNull Chart chart, @NonNull List<Float> valueList, int position) {
  116 + DrawData drawData = new DrawData();
  117 + if (position > valueList.size() - 1) {
  118 + return drawData;
  119 + }
  120 +
  121 + float value = valueList.get(position);
  122 + int startX = getCoordinateX(chart, position);
  123 + int startY = getCoordinateY(chart, value);
  124 + drawData.startX = startX;
  125 + drawData.startY = startY;
  126 +// drawData.setStartX(startX);
  127 +// drawData.setStartY(startY);
  128 + int nextPosition = position + 1;
  129 + if (nextPosition < valueList.size()) {
  130 + float nextValue = valueList.get(nextPosition);
  131 + int stopX = getCoordinateX(chart, nextPosition);
  132 + int stopY = getCoordinateY(chart, nextValue);
  133 +
  134 +// drawData.setStopX(stopX);
  135 +// drawData.setStopY(stopY);
  136 +
  137 + drawData.stopX = stopX;
  138 + drawData.stopY = stopY;
  139 + }
  140 +
  141 + return drawData;
  142 + }
  143 +
  144 + @SuppressWarnings("UnnecessaryLocalVariable")
  145 + private static int getCoordinateX(@NonNull Chart chart, int index) {
  146 + int width = chart.width;
  147 + int titleWidth = chart.titleWidth;
  148 +
  149 + int widthCorrected = width - titleWidth;
  150 + int partWidth = widthCorrected / (Chart.MAX_ITEMS_COUNT - 1);
  151 + int coordinate = titleWidth + (partWidth * index);
  152 +
  153 + if (coordinate < 0) {
  154 + coordinate = 0;
  155 +
  156 + } else if (coordinate > width) {
  157 + coordinate = width;
  158 + }
  159 +
  160 + return coordinate;
  161 + }
  162 +
  163 + @SuppressWarnings("UnnecessaryLocalVariable")
  164 + private static int getCoordinateY(@NonNull Chart chart, float value) {
  165 + int height = chart.height - chart.padding- chart.textSize;
  166 + int heightOffset = chart.heightOffset;
  167 +
  168 + int heightCorrected = height - heightOffset;
  169 + int coordinate = (int) (heightCorrected - (heightCorrected * value));
  170 +
  171 + if (coordinate < 0) {
  172 + coordinate = 0;
  173 +
  174 + } else if (coordinate > heightCorrected) {
  175 + coordinate = heightCorrected;
  176 + }
  177 +
  178 + coordinate += heightOffset;
  179 + return coordinate;
  180 + }
  181 +}
... ...
mvpsdk/src/main/java/com/share/mvpsdk/view/chartview/ChartView.java 0 → 100644
... ... @@ -0,0 +1,242 @@
  1 +package com.share.mvpsdk.view.chartview;
  2 +
  3 +import android.content.Context;
  4 +import android.graphics.Canvas;
  5 +import android.graphics.Paint;
  6 +import android.support.annotation.NonNull;
  7 +import android.support.annotation.Nullable;
  8 +import android.util.AttributeSet;
  9 +import android.util.Log;
  10 +import android.view.View;
  11 +
  12 +import com.share.mvpsdk.R;
  13 +import com.share.mvpsdk.utils.DateUtils;
  14 +import com.share.mvpsdk.utils.ValueUtils;
  15 +import com.share.mvpsdk.view.chartview.data.Chart;
  16 +import com.share.mvpsdk.view.chartview.data.ChartPath;
  17 +import com.share.mvpsdk.view.chartview.data.DrawData;
  18 +import com.share.mvpsdk.view.chartview.data.InputData;
  19 +
  20 +import java.util.ArrayList;
  21 +import java.util.List;
  22 +
  23 +/**
  24 + * Created by ToaHanDong on 2018/3/28.
  25 + */
  26 +
  27 +public class ChartView extends View {
  28 +
  29 + Paint axisPaint;//轴的画笔
  30 +
  31 + Paint valuesPaint;//值的画笔
  32 +
  33 + Paint textPaint;//轴的数值的画笔
  34 +
  35 + Chart chart;//图表属性
  36 +
  37 + List<ChartPath> chartPathList=null;//路径的集合
  38 +
  39 + private int axisColor, valuesColor, textColor;
  40 +
  41 +
  42 + public ChartView(Context context) {
  43 + super(context);
  44 + initCharView();
  45 + }
  46 +
  47 + public ChartView(Context context, @Nullable AttributeSet attrs) {
  48 + super(context, attrs);
  49 + initCharView();
  50 + }
  51 +
  52 + public ChartView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
  53 + super(context, attrs, defStyleAttr);
  54 + initCharView();
  55 + }
  56 +
  57 + private void initCharView() {
  58 +
  59 + initPaint();
  60 +
  61 +
  62 + }
  63 +
  64 + //添加路径
  65 + public void setChartPaths(List<InputData> inputData){
  66 + if (null==chartPathList)chartPathList=new ArrayList<>();
  67 + ChartPath chartPath=new ChartPath(inputData);
  68 + chartPathList.add(chartPath);
  69 + chart.setInputDataList(inputData);
  70 + chart.titleWidth=getTitleWidth();
  71 + measure(690,392);
  72 + Log.d("66666","setChartPaths="+chart.toString());
  73 + chart.setDrawDataList(ValueUtils.getDrawData(chart));
  74 + invalidate();
  75 +
  76 + }
  77 +
  78 + //设置颜色
  79 + public void setColors(int textColor,int axisColor,int valuesColor){
  80 + this.textColor=textColor;
  81 + this.axisColor=axisColor;
  82 + this.valuesColor=valuesColor;
  83 + }
  84 +
  85 + private int getTitleWidth() {
  86 + List<InputData> valueList = chart.inputDataList;
  87 + if (valueList == null || valueList.isEmpty()) {
  88 + return 0;
  89 + }
  90 +
  91 + String maxValue = String.valueOf(ValueUtils.max(valueList));
  92 + int titleWidth = (int) textPaint.measureText(maxValue);
  93 + int padding = chart.padding;
  94 +
  95 + return padding + titleWidth + padding;
  96 + }
  97 + /**
  98 + * 初始化 画笔
  99 + */
  100 + private void initPaint() {
  101 +
  102 + chart = new Chart();
  103 +// chart.height = getMeasuredHeight();
  104 +// chart.width = getWidth();
  105 + chart.heightOffset = (int) (getResources().getDimension(R.dimen.dp_4) + getResources().getDimension(R.dimen.dp_4));
  106 + chart.padding = (int) (getResources().getDimension(R.dimen.dp_10));
  107 + chart.textSize = (int) getResources().getDimension(R.dimen.dp_14);
  108 + chart.radius = (int) getResources().getDimension(R.dimen.dp_4);
  109 + chart.inerRadius = (int) getResources().getDimension(R.dimen.dp_4);
  110 +
  111 + axisPaint = new Paint();
  112 + axisPaint.setColor(getResources().getColor(R.color.theme_day_blue));
  113 + axisPaint.setStyle(Paint.Style.FILL);
  114 + axisPaint.setAntiAlias(true);
  115 + axisPaint.setTextSize(chart.textSize);
  116 +
  117 + valuesPaint = new Paint();
  118 + valuesPaint.setAntiAlias(true);
  119 + valuesPaint.setTextSize(chart.textSize);
  120 + valuesPaint.setColor(getResources().getColor(R.color.theme_day_blue));
  121 +
  122 + textPaint = new Paint();
  123 + textPaint.setColor(getResources().getColor(R.color.text_color_dark));
  124 + textPaint.setTextSize(chart.textSize);
  125 + textPaint.setAntiAlias(true);
  126 + textPaint.setStyle(Paint.Style.FILL);
  127 +
  128 + }
  129 +
  130 + @Override
  131 + protected void onDraw(Canvas canvas) {
  132 + super.onDraw(canvas);
  133 +
  134 + drawChartVertical(canvas);
  135 + drawChartHorizontal(canvas);
  136 + drawFrameLines(canvas);
  137 +
  138 + }
  139 +
  140 +
  141 + private void drawChartVertical(@NonNull Canvas canvas) {
  142 + List<InputData> inputDataList = chart.getInputDataList();
  143 + if (inputDataList == null || inputDataList.isEmpty()) {
  144 + return;
  145 + }
  146 +
  147 + long maxValue = ValueUtils.max(inputDataList);
  148 + long correctedMaxValue = ValueUtils.getCorrectedMaxValue(maxValue);
  149 + float value = (float) correctedMaxValue / maxValue;
  150 +
  151 + long heightOffset = chart.heightOffset;
  152 + int padding = chart.padding;
  153 + int textSize = chart.textSize;
  154 + int titleWidth = chart.titleWidth;
  155 +
  156 + float width = chart.width - chart.textSize - chart.padding;
  157 + float height = chart.height - textSize - padding;
  158 + float chartPartHeight = ((height - heightOffset) * value) / Chart.CHART_PARTS;
  159 +
  160 + float currHeight = height;
  161 + int currTitle = 0;
  162 +
  163 + for (int i = 0; i <= Chart.CHART_PARTS; i++) {
  164 + float titleY = currHeight;
  165 +
  166 + if (i <= 0) {
  167 + titleY = height;
  168 +
  169 + } else if (textSize + chart.heightOffset > currHeight) {
  170 + titleY = currHeight + textSize - Chart.TEXT_SIZE_OFFSET;
  171 + }
  172 +
  173 + if (i > 0) {
  174 +// canvas.drawLine(titleWidth, currHeight, width, currHeight, frameInternalPaint);
  175 + }
  176 +
  177 + String title = String.valueOf(currTitle);
  178 + canvas.drawText(title, padding, titleY, textPaint);
  179 +
  180 + currHeight -= chartPartHeight;
  181 + currTitle += correctedMaxValue / Chart.CHART_PARTS;
  182 + }
  183 + }
  184 +
  185 + private void drawChartHorizontal(@NonNull Canvas canvas) {
  186 + List<InputData> inputDataList = chart.getInputDataList();
  187 + List<DrawData> drawDataList = chart.getDrawDataList();
  188 + Log.d("66666","drawChartHorizontal="+drawDataList);
  189 + if (inputDataList == null || inputDataList.isEmpty() || drawDataList == null || drawDataList.isEmpty()) {
  190 + return;
  191 + }
  192 +// drawPath(drawDataList,canvas);
  193 + for (int i = 0; i < inputDataList.size(); i++) {
  194 +
  195 + InputData inputData = inputDataList.get(i);
  196 + String date = DateUtils.format(inputData.valueX);
  197 + int dateWidth = (int) axisPaint.measureText(date);
  198 + int x;
  199 + if (drawDataList.size() > i) {
  200 + DrawData drawData = drawDataList.get(i);
  201 + x = drawData.startX;
  202 + if (i > 0) {
  203 +// x -= (dateWidth / 2);
  204 + x = drawDataList.get(i).startX - (dateWidth / 2) - chart.padding - chart.textSize;
  205 + }
  206 + } else {
  207 + x = drawDataList.get(drawDataList.size() - 1).stopX - dateWidth - chart.padding - chart.textSize;
  208 + }
  209 + if (i > 0)
  210 + canvas.drawLine(i == drawDataList.size() ? x + chart.textSize : x + dateWidth / 2,
  211 + drawDataList.get(i - 1).stopY, i == drawDataList.size() ? x + chart.textSize : x + dateWidth / 2, chart.height
  212 + - chart.textSize - chart.padding, textPaint);
  213 + canvas.drawText(date, x, chart.height, textPaint);
  214 + }
  215 + }
  216 +
  217 + private void drawFrameLines(@NonNull Canvas canvas) {
  218 + int textSize = chart.textSize;
  219 + int padding = chart.padding;
  220 +
  221 + int height = chart.height - textSize - padding;
  222 + int width = chart.width - textSize - padding;
  223 + int titleWidth = chart.titleWidth;
  224 + int heightOffset = chart.heightOffset;
  225 +
  226 + canvas.drawLine(titleWidth, heightOffset, titleWidth, height, axisPaint);
  227 + canvas.drawLine(titleWidth, height, width, height, axisPaint);
  228 + }
  229 +
  230 + @Override
  231 + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  232 + super.onMeasure(widthMeasureSpec, heightMeasureSpec);
  233 +
  234 + int width = MeasureSpec.getSize(widthMeasureSpec);
  235 + int height = MeasureSpec.getSize(heightMeasureSpec) / 2;
  236 + chart.width=width;
  237 + chart.height=height;
  238 + Log.d("66666","onMeasure="+chart.toString());
  239 + setMeasuredDimension(width, height);
  240 +
  241 + }
  242 +}
... ...
mvpsdk/src/main/java/com/share/mvpsdk/view/chartview/data/Chart.java 0 → 100644
... ... @@ -0,0 +1,62 @@
  1 +package com.share.mvpsdk.view.chartview.data;
  2 +
  3 +import java.util.List;
  4 +
  5 +/**
  6 + * Created by ToaHanDong on 2018/3/28.
  7 + * 定义chart表单需要的一些数据
  8 + */
  9 +
  10 +public class Chart {
  11 +
  12 + public static final int CHART_PARTS = 5;
  13 + public static final int MAX_ITEMS_COUNT = 7;
  14 + public static final int CHART_PART_VALUE = 10;
  15 + public static final int TEXT_SIZE_OFFSET = 10;
  16 +
  17 + public int width;//表单的宽
  18 + public int height;//表单的高
  19 +
  20 + public int padding;//内边距
  21 + public int titleWidth;//
  22 + public int textSize;//字体大小
  23 + public int heightOffset;
  24 +
  25 + public int radius;
  26 + public int inerRadius;
  27 +
  28 + public List<InputData> inputDataList;
  29 +
  30 + public List<DrawData> drawDataList;
  31 +
  32 + public void setInputDataList(List<InputData> inputDataList){
  33 + this.inputDataList=inputDataList;
  34 + }
  35 +
  36 + public List<InputData> getInputDataList(){
  37 + return inputDataList;
  38 + }
  39 +
  40 + public void setDrawDataList(List<DrawData> drawDataList){
  41 + this.drawDataList=drawDataList;
  42 + }
  43 +
  44 + public List<DrawData> getDrawDataList(){
  45 + return drawDataList;
  46 + }
  47 +
  48 +
  49 + @Override
  50 + public String toString() {
  51 + return "Chart{" +
  52 + "width=" + width +
  53 + ", height=" + height +
  54 + ", padding=" + padding +
  55 + ", titleWidth=" + titleWidth +
  56 + ", textSize=" + textSize +
  57 + ", heightOffset=" + heightOffset +
  58 + ", radius=" + radius +
  59 + ", inerRadius=" + inerRadius +
  60 + '}';
  61 + }
  62 +}
... ...
mvpsdk/src/main/java/com/share/mvpsdk/view/chartview/data/ChartPath.java 0 → 100644
... ... @@ -0,0 +1,24 @@
  1 +package com.share.mvpsdk.view.chartview.data;
  2 +
  3 +import java.util.List;
  4 +
  5 +/**
  6 + * Created by ToaHanDong on 2018/3/28.
  7 + */
  8 +
  9 +//路径
  10 +public class ChartPath {
  11 +
  12 + public List<InputData> inputDataList;
  13 +
  14 + public ChartPath(List<InputData> inputData) {
  15 + this.inputDataList=inputData;
  16 + }
  17 +
  18 + @Override
  19 + public String toString() {
  20 + return "ChartPath{" +
  21 + "inputDataList=" + inputDataList +
  22 + '}';
  23 + }
  24 +}
... ...
mvpsdk/src/main/java/com/share/mvpsdk/view/chartview/data/DrawData.java 0 → 100644
... ... @@ -0,0 +1,24 @@
  1 +package com.share.mvpsdk.view.chartview.data;
  2 +
  3 +/**
  4 + * Created by ToaHanDong on 2018/3/28.
  5 + */
  6 +
  7 +public class DrawData {
  8 +
  9 + public int startX;
  10 + public int startY;
  11 +
  12 + public int stopX;
  13 + public int stopY;
  14 +
  15 + @Override
  16 + public String toString() {
  17 + return "DrawData{" +
  18 + "startX=" + startX +
  19 + ", startY=" + startY +
  20 + ", stopX=" + stopX +
  21 + ", stopY=" + stopY +
  22 + '}';
  23 + }
  24 +}
... ...
mvpsdk/src/main/java/com/share/mvpsdk/view/chartview/data/InputData.java 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +package com.share.mvpsdk.view.chartview.data;
  2 +
  3 +/**
  4 + * Created by ToaHanDong on 2018/3/28.
  5 + * 输入的x、y参数
  6 + */
  7 +
  8 +public class InputData {
  9 +
  10 + public long valueX;
  11 +
  12 + public long valueY;
  13 +
  14 + public InputData(long valueX,long valueY){
  15 + this.valueX=valueX;
  16 + this.valueY=valueY;
  17 + }
  18 +
  19 + @Override
  20 + public String toString() {
  21 + return "InputData{" +
  22 + "valueX=" + valueX +
  23 + ", valueY=" + valueY +
  24 + '}';
  25 + }
  26 +}
... ...