diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c3cd0b8..7c6263a 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -63,10 +63,6 @@ Legend.LegendVerticalAlignment.BOTTOM legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER - //添加自定义Marker - val detailsMarkerView = DetailsMarkerView(BaseApplication.obtainInstance()) - detailsMarkerView.chartView = chart - chart.marker = detailsMarkerView } fun setLineChartData(chart: LineChart, entryModels: List) { @@ -89,6 +85,11 @@ } val lineData = LineData(lineDataSets) lineData.setDrawValues(false) + //添加自定义Marker + val markerView = DetailsMarkerView(BaseApplication.obtainInstance()) + markerView.chartView = chart + markerView.setXAxisDate(xAxisDate) + chart.marker = markerView //设置X轴坐标 val xAxis = chart.xAxis xAxis.valueFormatter = object : ValueFormatter() { diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c3cd0b8..7c6263a 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -63,10 +63,6 @@ Legend.LegendVerticalAlignment.BOTTOM legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER - //添加自定义Marker - val detailsMarkerView = DetailsMarkerView(BaseApplication.obtainInstance()) - detailsMarkerView.chartView = chart - chart.marker = detailsMarkerView } fun setLineChartData(chart: LineChart, entryModels: List) { @@ -89,6 +85,11 @@ } val lineData = LineData(lineDataSets) lineData.setDrawValues(false) + //添加自定义Marker + val markerView = DetailsMarkerView(BaseApplication.obtainInstance()) + markerView.chartView = chart + markerView.setXAxisDate(xAxisDate) + chart.marker = markerView //设置X轴坐标 val xAxis = chart.xAxis xAxis.valueFormatter = object : ValueFormatter() { diff --git a/app/src/main/java/com/casic/qd/smartwell/widgets/DetailsMarkerView.kt b/app/src/main/java/com/casic/qd/smartwell/widgets/DetailsMarkerView.kt index 8f42737..e374b54 100644 --- a/app/src/main/java/com/casic/qd/smartwell/widgets/DetailsMarkerView.kt +++ b/app/src/main/java/com/casic/qd/smartwell/widgets/DetailsMarkerView.kt @@ -11,9 +11,15 @@ import java.util.* class DetailsMarkerView(context: Context?) : MarkerView(context, R.layout.popu_marker) { + private val kTag = "DetailsMarkerView" private val decimalFormat = DecimalFormat("##0") private val dayView: TextView = findViewById(R.id.dayView) private val dataView: TextView = findViewById(R.id.dataView) + private var xAxisDate: MutableList = ArrayList() + + fun setXAxisDate(date: MutableList) { + this.xAxisDate = date + } //每次重绘,会调用此方法刷新数据 override fun refreshContent(e: Entry, highlight: Highlight) { @@ -21,18 +27,15 @@ val data = e.data as String try { dataView.text = String.format( - Locale.CHINA, - "%s:%st", - data, + Locale.CHINA, "%s:%st", data, decimalFormat.format(e.y.toString().toDouble()) ) if (data == "阀门" || data == "水表" || data == "管线" || data == "噪声仪") { dayView.text = String.format(Locale.CHINA, "%s年", decimalFormat.format(e.x)) } else { - val calendar = Calendar.getInstance() - val month = calendar[Calendar.MONTH] + 1 - val day = (e.x + 1).toInt() - dayView.text = String.format(Locale.CHINA, "%d月%s日", month, day) + val date = xAxisDate[(e.x).toInt()] + val split = date.split("/") + dayView.text = String.format(Locale.CHINA, "${split[0]}月${split[1]}日") } } catch (e1: Exception) { e1.printStackTrace()