mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2025-01-26 09:37:33 +01:00
adds custom renderer for better view of many columns
This commit is contained in:
parent
8bed673a95
commit
2d233141b4
@ -88,6 +88,10 @@ public abstract class AbstractWeekChartFragment extends AbstractChartFragment {
|
|||||||
setupLegend(mWeekChart);
|
setupLegend(mWeekChart);
|
||||||
mTodayPieChart.setCenterText(mcd.getDayData().centerText);
|
mTodayPieChart.setCenterText(mcd.getDayData().centerText);
|
||||||
mTodayPieChart.setData(mcd.getDayData().data);
|
mTodayPieChart.setData(mcd.getDayData().data);
|
||||||
|
//set custom renderer for 30days bar charts
|
||||||
|
if (GBApplication.getPrefs().getBoolean("charts_range", true)) {
|
||||||
|
mWeekChart.setRenderer(new AngledLabelsChartRenderer(mWeekChart, mWeekChart.getAnimator(), mWeekChart.getViewPortHandler()));
|
||||||
|
}
|
||||||
|
|
||||||
mWeekChart.setData(null); // workaround for https://github.com/PhilJay/MPAndroidChart/issues/2317
|
mWeekChart.setData(null); // workaround for https://github.com/PhilJay/MPAndroidChart/issues/2317
|
||||||
mWeekChart.setData(mcd.getWeekBeforeData().getData());
|
mWeekChart.setData(mcd.getWeekBeforeData().getData());
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
package nodomain.freeyourgadget.gadgetbridge.activities.charts;
|
||||||
|
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
|
||||||
|
import com.github.mikephil.charting.animation.ChartAnimator;
|
||||||
|
import com.github.mikephil.charting.data.Entry;
|
||||||
|
import com.github.mikephil.charting.formatter.IValueFormatter;
|
||||||
|
import com.github.mikephil.charting.interfaces.dataprovider.BarDataProvider;
|
||||||
|
import com.github.mikephil.charting.renderer.BarChartRenderer;
|
||||||
|
import com.github.mikephil.charting.utils.ViewPortHandler;
|
||||||
|
|
||||||
|
public class AngledLabelsChartRenderer extends BarChartRenderer {
|
||||||
|
public AngledLabelsChartRenderer(BarDataProvider chart, ChartAnimator animator, ViewPortHandler viewPortHandler) {
|
||||||
|
super(chart, animator, viewPortHandler);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawValue(Canvas canvas, IValueFormatter formatter, float value, Entry entry, int dataSetIndex, float x, float y, int color) {
|
||||||
|
|
||||||
|
mValuePaint.setColor(color);
|
||||||
|
|
||||||
|
//move position to the center of bar
|
||||||
|
x=x+8;
|
||||||
|
y=y-25;
|
||||||
|
|
||||||
|
canvas.save();
|
||||||
|
canvas.rotate(-90, x, y);
|
||||||
|
|
||||||
|
canvas.drawText(formatter.getFormattedValue(value, entry, dataSetIndex, mViewPortHandler), x, y, mValuePaint);
|
||||||
|
canvas.restore();
|
||||||
|
}}
|
Loading…
x
Reference in New Issue
Block a user