您好我不知道使用MP Android Chart是否可以使用这种图形:
我真正需要的是使用其他几个UI组件(在本例中为4个TextViews和一个ImageView)自定义整个XAxis。
我一直在尝试不同的解决方案,例如在其单元格中使用带有BarChart
的RecyclerView,但我没有实现高效的用户界面:
我还试图在Chart下面添加一个ListView,但我无法根据图表同步和订购ListView单元格。
任何想法?
答案 0 :(得分:1)
使用MPAndroidChart,你在图片中发布的图片类型肯定是可能的,虽然并不容易。
您必须编写自己的GIT_WORK_TREE=/.invalid/work/tree &&
export GIT_WORK_TREE &&
git rev-parse
# dies with error code 128
子类:
XAxisRenderer
一个非常简单的概念验证看起来像这样:
ViewPortHandler vph = mChart.getViewPortHandler();
XAxisRenderer xAxisRenderer = new CustomXAxisRenderer(vph, mChart.getXAxis(), vph.getTransformer(AxisDependency.LEFT), image);
mChart.setXAxisRenderer(new CustomXAxisRenderer());
请参阅以下答案,了解如何缩放位图图像并在画布上绘制它们:
How to make a custom image inside bars in MPAndroidChart
How to make a custom highlight drawable in MPAndroidChart
如果您有完整的解决方案,欢迎您在此处发布答案。祝你好运!
注意概念验证:重写public class CustomXAxisRenderer extends XAxisRenderer {
Bitmap image;
public CustomXAxisRenderer(ViewPortHandler viewPortHandler, XAxis xAxis, Transformer transformer, Bitmap image) {
super(viewPortHandler, xAxis, transformer);
this.image = image;
}
@Override
protected void drawLabels(Canvas c, float pos, MPPointF anchor) {
//same code as super class
//then, code to draw the bitmap image on the canvas
//and, code to draw the extra text
}
}
有点粗糙。一个更好的解决方案是从drawLabels
中提取一个单独的方法,并确保在超类的drawLabels
中调用它。如果您愿意,请参阅this answer。