[android] Use a library maintain to draw charts

Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
This commit is contained in:
Jean-Baptiste
2025-07-27 15:46:01 +02:00
committed by jeanbaptisteC
parent 292875c3bd
commit 2ef4eb62ba
5 changed files with 13 additions and 9 deletions

View File

@@ -24,7 +24,7 @@ import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.listener.OnChartValueSelectedListener;
import com.google.android.material.textview.MaterialTextView;
@@ -119,7 +119,7 @@ public class ChartController implements OnChartValueSelectedListener
x.setPosition(XAxis.XAxisPosition.BOTTOM);
x.setAxisLineColor(ThemeUtils.getColor(mContext, androidx.appcompat.R.attr.dividerHorizontal));
x.setAxisLineWidth(mContext.getResources().getDimensionPixelSize(R.dimen.divider_height));
ValueFormatter xAxisFormatter = new AxisValueFormatter(mChart);
IAxisValueFormatter xAxisFormatter = new AxisValueFormatter(mChart);
x.setValueFormatter(xAxisFormatter);
YAxis y = mChart.getAxisLeft();

View File

@@ -3,22 +3,23 @@ package app.organicmaps.widget.placepage;
import androidx.annotation.NonNull;
import app.organicmaps.sdk.util.StringUtils;
import com.github.mikephil.charting.charts.BarLineChartBase;
import com.github.mikephil.charting.formatter.DefaultValueFormatter;
import androidx.annotation.Nullable;
import com.github.mikephil.charting.components.AxisBase;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
public class AxisValueFormatter extends DefaultValueFormatter
public class AxisValueFormatter implements IAxisValueFormatter
{
private static final int DEF_DIGITS = 1;
@NonNull
private final BarLineChartBase mChart;
public AxisValueFormatter(@NonNull BarLineChartBase chart)
{
super(DEF_DIGITS);
super();
mChart = chart;
}
@Override
public String getFormattedValue(float value)
public String getFormattedValue(float value, @Nullable AxisBase axisBase)
{
return StringUtils.nativeFormatDistance(value).toString(mChart.getContext());
}