gpt4 book ai didi

android - android中的Achart引擎自定义点样式

转载 作者:行者123 更新时间:2023-11-29 21:07:56 25 4
gpt4 key购买 nike

您好,我想在 achartengine 的散点图中绘制自定义点样式。 enter image description here

是否可以使用图表引擎?如果是,那么该怎么做?

最佳答案

我可以通过覆盖图形 View 的 onDraw(Canvas canvas) 方法来使用自定义点样式

 protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mCommonPointBitmap != null ) {
float halfWitdhCommonPointBitmap = (float) mCommonPointBitmap.getWidth() / 2;
float halfHeightCommonPointBitmap = (float) mCommonPointBitmap.getHeight() / 2;
// float halfWitdhyouPointBitmap = (float) mYouPointBitmap.getWidth() / 2;
// float halfHeightyouPointBitmap = (float) mYouPointBitmap.getHeight() / 2;
List<double[]> screenPoints = getSeriesSelectionList();
if (!CommonUtils.isCollectionNullOrEmpty(screenPoints)) {
int[] margins = mXYChart.getRenderer().getMargins();
// Info: margin order: top, left, bottom, right
canvas.clipRect(getLeft() + margins[1], getTop() - margins[0], getRight() - margins[3], getBottom()
- margins[2]);
for (int i = 0; i < screenPoints.size(); i++) {
double[] screenPoint = screenPoints.get(i);
if (screenPoint != null) {
float pointLeftX = (float) screenPoint[0] - halfWitdhCommonPointBitmap;
float pointTopY = (float) screenPoint[1] - halfHeightCommonPointBitmap;
canvas.drawBitmap(mCommonPointBitmap, pointLeftX, pointTopY, null);
}
}
}
}
}



List<double[]> screenPoints = null;
XYSeries xySeries = mXYChart.getDataset().getSeriesAt(0);
int itemCount = xySeries.getItemCount();
if (itemCount > 0) {
screenPoints = new ArrayList<double[]>(itemCount);
double[] realPoints = new double[2];
for (int itemIndex = 0; itemIndex < itemCount; itemIndex++) {
realPoints[0] = xySeries.getX(itemIndex);
realPoints[1] = xySeries.getY(itemIndex);
screenPoints.add(mXYChart.toScreenPoint(realPoints));
}
}
return screenPoints;
}

关于android - android中的Achart引擎自定义点样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com