diff --git a/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt new file mode 100644 index 0000000..1f5aab8 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt @@ -0,0 +1,37 @@ +package com.casic.qd.smartwell.extensions + +import com.casic.qd.smartwell.R +import com.github.mikephil.charting.charts.LineChart +import com.github.mikephil.charting.components.Legend +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +fun LineChart.init() { + this.setDrawGridBackground(false) + this.setDrawBorders(false) + //设置样式 + val rightAxis: YAxis = this.axisRight + //设置图表右边的y轴禁用 + rightAxis.isEnabled = false + val leftAxis: YAxis = this.axisLeft + leftAxis.axisMinimum = 0f + this.isScaleXEnabled = false //X轴不可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 + val xAxis: XAxis = this.xAxis + xAxis.textColor = R.color.mainTextColor.convertColor() + xAxis.textSize = 10f + xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 + xAxis.setDrawAxisLine(true) //是否绘制轴线 + xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 + xAxis.granularity = 1f //禁止放大后x轴标签重绘 + xAxis.position = XAxis.XAxisPosition.BOTTOM + this.extraBottomOffset = 5f //解决X轴显示不完全问题 + //去掉描述 + this.description.isEnabled = false + //设置图例 + val legend = this.legend + legend.orientation = Legend.LegendOrientation.HORIZONTAL + legend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM + legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt new file mode 100644 index 0000000..1f5aab8 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt @@ -0,0 +1,37 @@ +package com.casic.qd.smartwell.extensions + +import com.casic.qd.smartwell.R +import com.github.mikephil.charting.charts.LineChart +import com.github.mikephil.charting.components.Legend +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +fun LineChart.init() { + this.setDrawGridBackground(false) + this.setDrawBorders(false) + //设置样式 + val rightAxis: YAxis = this.axisRight + //设置图表右边的y轴禁用 + rightAxis.isEnabled = false + val leftAxis: YAxis = this.axisLeft + leftAxis.axisMinimum = 0f + this.isScaleXEnabled = false //X轴不可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 + val xAxis: XAxis = this.xAxis + xAxis.textColor = R.color.mainTextColor.convertColor() + xAxis.textSize = 10f + xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 + xAxis.setDrawAxisLine(true) //是否绘制轴线 + xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 + xAxis.granularity = 1f //禁止放大后x轴标签重绘 + xAxis.position = XAxis.XAxisPosition.BOTTOM + this.extraBottomOffset = 5f //解决X轴显示不完全问题 + //去掉描述 + this.description.isEnabled = false + //设置图例 + val legend = this.legend + legend.orientation = Legend.LegendOrientation.HORIZONTAL + legend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM + legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER +} \ No newline at end of file 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 8daf653..cc1cddf 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 @@ -33,37 +33,6 @@ private const val kTag = "ChartViewHelper" private val decimalFormat = DecimalFormat("##0") - fun initLineChart(chart: LineChart) { - chart.setDrawGridBackground(false) - chart.setDrawBorders(false) - //设置样式 - val rightAxis: YAxis = chart.axisRight - //设置图表右边的y轴禁用 - rightAxis.isEnabled = false - val leftAxis: YAxis = chart.axisLeft - leftAxis.axisMinimum = 0f - chart.isScaleYEnabled = false //Y轴不可缩放 - //设置x轴 - val xAxis: XAxis = chart.xAxis - xAxis.textColor = R.color.mainTextColor.convertColor() - xAxis.textSize = 10f - xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 - xAxis.setDrawAxisLine(true) //是否绘制轴线 - xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 - xAxis.granularity = 1f //禁止放大后x轴标签重绘 - xAxis.position = XAxis.XAxisPosition.BOTTOM - chart.extraBottomOffset = 5f //解决X轴显示不完全问题 - //去掉描述 - chart.description.isEnabled = false - //设置图例 - val legend = chart.legend - legend.orientation = Legend.LegendOrientation.HORIZONTAL - legend.verticalAlignment = - Legend.LegendVerticalAlignment.BOTTOM - legend.horizontalAlignment = - Legend.LegendHorizontalAlignment.CENTER - } - fun setLineChartData(chart: LineChart, entryModels: List) { val lineDataSets: MutableList = ArrayList() val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt new file mode 100644 index 0000000..1f5aab8 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt @@ -0,0 +1,37 @@ +package com.casic.qd.smartwell.extensions + +import com.casic.qd.smartwell.R +import com.github.mikephil.charting.charts.LineChart +import com.github.mikephil.charting.components.Legend +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +fun LineChart.init() { + this.setDrawGridBackground(false) + this.setDrawBorders(false) + //设置样式 + val rightAxis: YAxis = this.axisRight + //设置图表右边的y轴禁用 + rightAxis.isEnabled = false + val leftAxis: YAxis = this.axisLeft + leftAxis.axisMinimum = 0f + this.isScaleXEnabled = false //X轴不可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 + val xAxis: XAxis = this.xAxis + xAxis.textColor = R.color.mainTextColor.convertColor() + xAxis.textSize = 10f + xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 + xAxis.setDrawAxisLine(true) //是否绘制轴线 + xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 + xAxis.granularity = 1f //禁止放大后x轴标签重绘 + xAxis.position = XAxis.XAxisPosition.BOTTOM + this.extraBottomOffset = 5f //解决X轴显示不完全问题 + //去掉描述 + this.description.isEnabled = false + //设置图例 + val legend = this.legend + legend.orientation = Legend.LegendOrientation.HORIZONTAL + legend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM + legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER +} \ No newline at end of file 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 8daf653..cc1cddf 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 @@ -33,37 +33,6 @@ private const val kTag = "ChartViewHelper" private val decimalFormat = DecimalFormat("##0") - fun initLineChart(chart: LineChart) { - chart.setDrawGridBackground(false) - chart.setDrawBorders(false) - //设置样式 - val rightAxis: YAxis = chart.axisRight - //设置图表右边的y轴禁用 - rightAxis.isEnabled = false - val leftAxis: YAxis = chart.axisLeft - leftAxis.axisMinimum = 0f - chart.isScaleYEnabled = false //Y轴不可缩放 - //设置x轴 - val xAxis: XAxis = chart.xAxis - xAxis.textColor = R.color.mainTextColor.convertColor() - xAxis.textSize = 10f - xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 - xAxis.setDrawAxisLine(true) //是否绘制轴线 - xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 - xAxis.granularity = 1f //禁止放大后x轴标签重绘 - xAxis.position = XAxis.XAxisPosition.BOTTOM - chart.extraBottomOffset = 5f //解决X轴显示不完全问题 - //去掉描述 - chart.description.isEnabled = false - //设置图例 - val legend = chart.legend - legend.orientation = Legend.LegendOrientation.HORIZONTAL - legend.verticalAlignment = - Legend.LegendVerticalAlignment.BOTTOM - legend.horizontalAlignment = - Legend.LegendHorizontalAlignment.CENTER - } - fun setLineChartData(chart: LineChart, entryModels: List) { val lineDataSets: MutableList = ArrayList() val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt index 5bd2f91..560c129 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt @@ -86,7 +86,7 @@ } //初始化折线图,X轴从0开始 differ = startDate.differ(time.timestampToDate()) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, time.timestampToDate()) } diff --git a/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt new file mode 100644 index 0000000..1f5aab8 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt @@ -0,0 +1,37 @@ +package com.casic.qd.smartwell.extensions + +import com.casic.qd.smartwell.R +import com.github.mikephil.charting.charts.LineChart +import com.github.mikephil.charting.components.Legend +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +fun LineChart.init() { + this.setDrawGridBackground(false) + this.setDrawBorders(false) + //设置样式 + val rightAxis: YAxis = this.axisRight + //设置图表右边的y轴禁用 + rightAxis.isEnabled = false + val leftAxis: YAxis = this.axisLeft + leftAxis.axisMinimum = 0f + this.isScaleXEnabled = false //X轴不可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 + val xAxis: XAxis = this.xAxis + xAxis.textColor = R.color.mainTextColor.convertColor() + xAxis.textSize = 10f + xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 + xAxis.setDrawAxisLine(true) //是否绘制轴线 + xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 + xAxis.granularity = 1f //禁止放大后x轴标签重绘 + xAxis.position = XAxis.XAxisPosition.BOTTOM + this.extraBottomOffset = 5f //解决X轴显示不完全问题 + //去掉描述 + this.description.isEnabled = false + //设置图例 + val legend = this.legend + legend.orientation = Legend.LegendOrientation.HORIZONTAL + legend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM + legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER +} \ No newline at end of file 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 8daf653..cc1cddf 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 @@ -33,37 +33,6 @@ private const val kTag = "ChartViewHelper" private val decimalFormat = DecimalFormat("##0") - fun initLineChart(chart: LineChart) { - chart.setDrawGridBackground(false) - chart.setDrawBorders(false) - //设置样式 - val rightAxis: YAxis = chart.axisRight - //设置图表右边的y轴禁用 - rightAxis.isEnabled = false - val leftAxis: YAxis = chart.axisLeft - leftAxis.axisMinimum = 0f - chart.isScaleYEnabled = false //Y轴不可缩放 - //设置x轴 - val xAxis: XAxis = chart.xAxis - xAxis.textColor = R.color.mainTextColor.convertColor() - xAxis.textSize = 10f - xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 - xAxis.setDrawAxisLine(true) //是否绘制轴线 - xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 - xAxis.granularity = 1f //禁止放大后x轴标签重绘 - xAxis.position = XAxis.XAxisPosition.BOTTOM - chart.extraBottomOffset = 5f //解决X轴显示不完全问题 - //去掉描述 - chart.description.isEnabled = false - //设置图例 - val legend = chart.legend - legend.orientation = Legend.LegendOrientation.HORIZONTAL - legend.verticalAlignment = - Legend.LegendVerticalAlignment.BOTTOM - legend.horizontalAlignment = - Legend.LegendHorizontalAlignment.CENTER - } - fun setLineChartData(chart: LineChart, entryModels: List) { val lineDataSets: MutableList = ArrayList() val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt index 5bd2f91..560c129 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt @@ -86,7 +86,7 @@ } //初始化折线图,X轴从0开始 differ = startDate.differ(time.timestampToDate()) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, time.timestampToDate()) } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt index 570df4e..1698881 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt @@ -127,7 +127,7 @@ val startDate = time.timestampToLastWeekDate() val endDate = time.timestampToDate() val differ = startDate.differ(endDate) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() //一周折线图数据 waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, endDate) waterViewModel.areaDataModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt new file mode 100644 index 0000000..1f5aab8 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt @@ -0,0 +1,37 @@ +package com.casic.qd.smartwell.extensions + +import com.casic.qd.smartwell.R +import com.github.mikephil.charting.charts.LineChart +import com.github.mikephil.charting.components.Legend +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +fun LineChart.init() { + this.setDrawGridBackground(false) + this.setDrawBorders(false) + //设置样式 + val rightAxis: YAxis = this.axisRight + //设置图表右边的y轴禁用 + rightAxis.isEnabled = false + val leftAxis: YAxis = this.axisLeft + leftAxis.axisMinimum = 0f + this.isScaleXEnabled = false //X轴不可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 + val xAxis: XAxis = this.xAxis + xAxis.textColor = R.color.mainTextColor.convertColor() + xAxis.textSize = 10f + xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 + xAxis.setDrawAxisLine(true) //是否绘制轴线 + xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 + xAxis.granularity = 1f //禁止放大后x轴标签重绘 + xAxis.position = XAxis.XAxisPosition.BOTTOM + this.extraBottomOffset = 5f //解决X轴显示不完全问题 + //去掉描述 + this.description.isEnabled = false + //设置图例 + val legend = this.legend + legend.orientation = Legend.LegendOrientation.HORIZONTAL + legend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM + legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER +} \ No newline at end of file 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 8daf653..cc1cddf 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 @@ -33,37 +33,6 @@ private const val kTag = "ChartViewHelper" private val decimalFormat = DecimalFormat("##0") - fun initLineChart(chart: LineChart) { - chart.setDrawGridBackground(false) - chart.setDrawBorders(false) - //设置样式 - val rightAxis: YAxis = chart.axisRight - //设置图表右边的y轴禁用 - rightAxis.isEnabled = false - val leftAxis: YAxis = chart.axisLeft - leftAxis.axisMinimum = 0f - chart.isScaleYEnabled = false //Y轴不可缩放 - //设置x轴 - val xAxis: XAxis = chart.xAxis - xAxis.textColor = R.color.mainTextColor.convertColor() - xAxis.textSize = 10f - xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 - xAxis.setDrawAxisLine(true) //是否绘制轴线 - xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 - xAxis.granularity = 1f //禁止放大后x轴标签重绘 - xAxis.position = XAxis.XAxisPosition.BOTTOM - chart.extraBottomOffset = 5f //解决X轴显示不完全问题 - //去掉描述 - chart.description.isEnabled = false - //设置图例 - val legend = chart.legend - legend.orientation = Legend.LegendOrientation.HORIZONTAL - legend.verticalAlignment = - Legend.LegendVerticalAlignment.BOTTOM - legend.horizontalAlignment = - Legend.LegendHorizontalAlignment.CENTER - } - fun setLineChartData(chart: LineChart, entryModels: List) { val lineDataSets: MutableList = ArrayList() val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt index 5bd2f91..560c129 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt @@ -86,7 +86,7 @@ } //初始化折线图,X轴从0开始 differ = startDate.differ(time.timestampToDate()) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, time.timestampToDate()) } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt index 570df4e..1698881 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt @@ -127,7 +127,7 @@ val startDate = time.timestampToLastWeekDate() val endDate = time.timestampToDate() val differ = startDate.differ(endDate) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() //一周折线图数据 waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, endDate) waterViewModel.areaDataModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt index d6401c8..f6bdfa3 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt @@ -2,6 +2,7 @@ import com.casic.qd.smartwell.R import com.casic.qd.smartwell.base.BaseActivity +import com.casic.qd.smartwell.extensions.init import com.casic.qd.smartwell.utils.ChartViewHelper import com.casic.qd.smartwell.utils.Constant import com.github.mikephil.charting.data.BarEntry @@ -45,7 +46,7 @@ ChartViewHelper.setPieChartData(totalPieChart, pieEntries) //初始化折线图 - ChartViewHelper.initLineChart(totalLineChart) + totalLineChart.init() //TODO 这是模拟数据 for (i in Constant.YEARS) { valveEntries.add( diff --git a/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt new file mode 100644 index 0000000..1f5aab8 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt @@ -0,0 +1,37 @@ +package com.casic.qd.smartwell.extensions + +import com.casic.qd.smartwell.R +import com.github.mikephil.charting.charts.LineChart +import com.github.mikephil.charting.components.Legend +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +fun LineChart.init() { + this.setDrawGridBackground(false) + this.setDrawBorders(false) + //设置样式 + val rightAxis: YAxis = this.axisRight + //设置图表右边的y轴禁用 + rightAxis.isEnabled = false + val leftAxis: YAxis = this.axisLeft + leftAxis.axisMinimum = 0f + this.isScaleXEnabled = false //X轴不可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 + val xAxis: XAxis = this.xAxis + xAxis.textColor = R.color.mainTextColor.convertColor() + xAxis.textSize = 10f + xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 + xAxis.setDrawAxisLine(true) //是否绘制轴线 + xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 + xAxis.granularity = 1f //禁止放大后x轴标签重绘 + xAxis.position = XAxis.XAxisPosition.BOTTOM + this.extraBottomOffset = 5f //解决X轴显示不完全问题 + //去掉描述 + this.description.isEnabled = false + //设置图例 + val legend = this.legend + legend.orientation = Legend.LegendOrientation.HORIZONTAL + legend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM + legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER +} \ No newline at end of file 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 8daf653..cc1cddf 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 @@ -33,37 +33,6 @@ private const val kTag = "ChartViewHelper" private val decimalFormat = DecimalFormat("##0") - fun initLineChart(chart: LineChart) { - chart.setDrawGridBackground(false) - chart.setDrawBorders(false) - //设置样式 - val rightAxis: YAxis = chart.axisRight - //设置图表右边的y轴禁用 - rightAxis.isEnabled = false - val leftAxis: YAxis = chart.axisLeft - leftAxis.axisMinimum = 0f - chart.isScaleYEnabled = false //Y轴不可缩放 - //设置x轴 - val xAxis: XAxis = chart.xAxis - xAxis.textColor = R.color.mainTextColor.convertColor() - xAxis.textSize = 10f - xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 - xAxis.setDrawAxisLine(true) //是否绘制轴线 - xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 - xAxis.granularity = 1f //禁止放大后x轴标签重绘 - xAxis.position = XAxis.XAxisPosition.BOTTOM - chart.extraBottomOffset = 5f //解决X轴显示不完全问题 - //去掉描述 - chart.description.isEnabled = false - //设置图例 - val legend = chart.legend - legend.orientation = Legend.LegendOrientation.HORIZONTAL - legend.verticalAlignment = - Legend.LegendVerticalAlignment.BOTTOM - legend.horizontalAlignment = - Legend.LegendHorizontalAlignment.CENTER - } - fun setLineChartData(chart: LineChart, entryModels: List) { val lineDataSets: MutableList = ArrayList() val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt index 5bd2f91..560c129 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt @@ -86,7 +86,7 @@ } //初始化折线图,X轴从0开始 differ = startDate.differ(time.timestampToDate()) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, time.timestampToDate()) } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt index 570df4e..1698881 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt @@ -127,7 +127,7 @@ val startDate = time.timestampToLastWeekDate() val endDate = time.timestampToDate() val differ = startDate.differ(endDate) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() //一周折线图数据 waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, endDate) waterViewModel.areaDataModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt index d6401c8..f6bdfa3 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt @@ -2,6 +2,7 @@ import com.casic.qd.smartwell.R import com.casic.qd.smartwell.base.BaseActivity +import com.casic.qd.smartwell.extensions.init import com.casic.qd.smartwell.utils.ChartViewHelper import com.casic.qd.smartwell.utils.Constant import com.github.mikephil.charting.data.BarEntry @@ -45,7 +46,7 @@ ChartViewHelper.setPieChartData(totalPieChart, pieEntries) //初始化折线图 - ChartViewHelper.initLineChart(totalLineChart) + totalLineChart.init() //TODO 这是模拟数据 for (i in Constant.YEARS) { valveEntries.add( 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 e374b54..ca0cb2a 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,7 +11,6 @@ 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) diff --git a/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt new file mode 100644 index 0000000..1f5aab8 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/extensions/LineChart.kt @@ -0,0 +1,37 @@ +package com.casic.qd.smartwell.extensions + +import com.casic.qd.smartwell.R +import com.github.mikephil.charting.charts.LineChart +import com.github.mikephil.charting.components.Legend +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +fun LineChart.init() { + this.setDrawGridBackground(false) + this.setDrawBorders(false) + //设置样式 + val rightAxis: YAxis = this.axisRight + //设置图表右边的y轴禁用 + rightAxis.isEnabled = false + val leftAxis: YAxis = this.axisLeft + leftAxis.axisMinimum = 0f + this.isScaleXEnabled = false //X轴不可缩放 + this.isScaleYEnabled = false //Y轴不可缩放 + //设置x轴 + val xAxis: XAxis = this.xAxis + xAxis.textColor = R.color.mainTextColor.convertColor() + xAxis.textSize = 10f + xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 + xAxis.setDrawAxisLine(true) //是否绘制轴线 + xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 + xAxis.granularity = 1f //禁止放大后x轴标签重绘 + xAxis.position = XAxis.XAxisPosition.BOTTOM + this.extraBottomOffset = 5f //解决X轴显示不完全问题 + //去掉描述 + this.description.isEnabled = false + //设置图例 + val legend = this.legend + legend.orientation = Legend.LegendOrientation.HORIZONTAL + legend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM + legend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER +} \ No newline at end of file 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 8daf653..cc1cddf 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 @@ -33,37 +33,6 @@ private const val kTag = "ChartViewHelper" private val decimalFormat = DecimalFormat("##0") - fun initLineChart(chart: LineChart) { - chart.setDrawGridBackground(false) - chart.setDrawBorders(false) - //设置样式 - val rightAxis: YAxis = chart.axisRight - //设置图表右边的y轴禁用 - rightAxis.isEnabled = false - val leftAxis: YAxis = chart.axisLeft - leftAxis.axisMinimum = 0f - chart.isScaleYEnabled = false //Y轴不可缩放 - //设置x轴 - val xAxis: XAxis = chart.xAxis - xAxis.textColor = R.color.mainTextColor.convertColor() - xAxis.textSize = 10f - xAxis.setDrawLabels(true) //绘制标签 指x轴上的对应数值 - xAxis.setDrawAxisLine(true) //是否绘制轴线 - xAxis.setDrawGridLines(false) //设置x轴上每个点对应的线 - xAxis.granularity = 1f //禁止放大后x轴标签重绘 - xAxis.position = XAxis.XAxisPosition.BOTTOM - chart.extraBottomOffset = 5f //解决X轴显示不完全问题 - //去掉描述 - chart.description.isEnabled = false - //设置图例 - val legend = chart.legend - legend.orientation = Legend.LegendOrientation.HORIZONTAL - legend.verticalAlignment = - Legend.LegendVerticalAlignment.BOTTOM - legend.horizontalAlignment = - Legend.LegendHorizontalAlignment.CENTER - } - fun setLineChartData(chart: LineChart, entryModels: List) { val lineDataSets: MutableList = ArrayList() val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt index 5bd2f91..560c129 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/ExpandedActivity.kt @@ -86,7 +86,7 @@ } //初始化折线图,X轴从0开始 differ = startDate.differ(time.timestampToDate()) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, time.timestampToDate()) } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt index 570df4e..1698881 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/MainActivity.kt @@ -127,7 +127,7 @@ val startDate = time.timestampToLastWeekDate() val endDate = time.timestampToDate() val differ = startDate.differ(endDate) - ChartViewHelper.initLineChart(waterLineChart) + waterLineChart.init() //一周折线图数据 waterViewModel.waterCountByDay(Constant.AREA_ID, startDate, endDate) waterViewModel.areaDataModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt index d6401c8..f6bdfa3 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt @@ -2,6 +2,7 @@ import com.casic.qd.smartwell.R import com.casic.qd.smartwell.base.BaseActivity +import com.casic.qd.smartwell.extensions.init import com.casic.qd.smartwell.utils.ChartViewHelper import com.casic.qd.smartwell.utils.Constant import com.github.mikephil.charting.data.BarEntry @@ -45,7 +46,7 @@ ChartViewHelper.setPieChartData(totalPieChart, pieEntries) //初始化折线图 - ChartViewHelper.initLineChart(totalLineChart) + totalLineChart.init() //TODO 这是模拟数据 for (i in Constant.YEARS) { valveEntries.add( 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 e374b54..ca0cb2a 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,7 +11,6 @@ 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) diff --git a/app/src/main/res/layout/popu_marker.xml b/app/src/main/res/layout/popu_marker.xml index 5c5ab1c..785a1e0 100644 --- a/app/src/main/res/layout/popu_marker.xml +++ b/app/src/main/res/layout/popu_marker.xml @@ -14,14 +14,16 @@ android:background="@drawable/bg_text_tag_blue" android:gravity="center" android:padding="5dp" - android:text="1号" - android:textColor="@color/white" /> + android:text="04月01日" + android:textColor="@color/white" + android:textSize="12sp" /> + android:text="xx:11x" + android:textColor="@color/mainThemeColor" + android:textSize="12sp" /> \ No newline at end of file