Я не знаю, какой тип графика вы хотите разработать, потому что у вас есть разные типы. Но я разработал график реального времени в андроиде. Я использую холст для рисования линий.
public class GraphView extends View
{
...
private final Rect rect = new Rect();
private final Paint linePaint = new Paint();
private final Paint backgroundPaint = new Paint();
private float[] points;
public GraphView(final Context context, final AttributeSet aSet)
{
super(context, aSet);
}
@Override
protected void onDraw(final Canvas canvas)
{
if (points == null)
{
return;
}
canvas.drawLines(points, linePaint);
rect.set((int) (xIndex * xScale), 0, (int) (xIndex * xScale + 5), getHeight());
canvas.drawRect(rect, backgroundPaint);
}
...
}
Вы можете легко разместить/изменить свой прямоугольник в соответствии с вашими потребностями. Я не писал вычисления xIndex и xScale. Массив точек - это тот, который будут записываться вашими значениями.
Но будьте осторожны, в линиях андроидов нарисованы пары, не существует «точечной» структуры, как я знаю.
Я имею в виду [1, 0,25, 2, 0,45] рисует линию между x1 = 1, y1 = 0,25 и х2 = 2, y2 = 0,45
Также вы можете вызвать дро с помощью postInvalidate()
postInvalidate() onDraw (Canvas canvas)
В чем именно проблема? Получается ли это сила против соседних ячеек или ваша проблема отображается?Если у вас уже есть данные, вы, вероятно, можете просто запечатлеть их на холсте – Guardanis
thks для комментариев ура. Я хочу получить силу против соседней и, конечно, отобразить ее после. У меня уже есть данные, поэтому проблема заключается в том, как запечатлеть это на холсте, как сказал! – 13KZ
Если вы никогда раньше не использовали холст, это хорошее место для начала: http://www.tutorialforandroid.com/2009/06/drawing-with-canvas-in-android.html - И если вы уже иметь данные, просто прокручивать точки и рисовать их (круги, линии через них и т. д.) – Guardanis