繁体   English   中英

有没有办法获得 MP Android BarChart 的 px/dp 的条宽?

[英]Is there a way I can get the Bar Width in px/dp's of an MP Android BarChart?

我想在图表下方创建一个“表格”(使用回收视图构建)。 但我希望 RecycleView 具有相同数量的图表元素(在本例中为 7)有没有办法获取Bar Chart的列width ,以便我可以为我的回收视图单元格分配相同的宽度?

在此处输入图片说明

最后(如果可能的话)我希望两个滚动同步。

以像素为单位的条宽是条宽 x 位置 (wp) 与标签起始位置 (xp) 之间的差值:

        Transformer transformer = bChart.getTransformer(YAxis.AxisDependency.LEFT);
        float bw = (float) transformer.getPixelForValues(bChart.getBarData().getBarWidth(), 0).x;
        float xp = (float) transformer.getPixelForValues(0, 0).x;
        float barWidthInPixels = bw - xp;

从javadoc可以看出, BarData#getBarWidth()以图表值(不是以像素为单位)返回条形宽度。

您可以使用Transformer在图表值(图表上的x和y值)和像素值(针对Android手机的屏幕)之间进行Transformer 类似于以下内容:

float barWidth = barData.getBarWidth();
Transformer transformer = mChart.getViewPortHandler().getTransformer(AxisDependency.LEFT);
MPPointD barDimensPoint = transformer.getPixelForValues(barWidth, 0);
float barWidthInPixels = (float) barDimensPoint.x;

它本质上是与这个问题相反的操作,其中要求是将像素转换为图表上的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM