怎么用安卓画出曲线图?
时间: 2023-08-02 17:23:09 浏览: 69
在安卓上,可以使用Android提供的Canvas和Paint类来绘制曲线图。以下是一个简单的示例代码:
```java
public class LineChartView extends View {
private Paint mPaint;
private Path mPath;
private float[] mData = {100, 200, 300, 400, 500, 600}; // 数据
public LineChartView(Context context) {
super(context);
init();
}
public LineChartView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public LineChartView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
// 初始化画笔
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.BLUE);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(3);
// 初始化路径
mPath = new Path();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 绘制坐标系
canvas.drawLine(100, 100, 100, 600, mPaint);
canvas.drawLine(100, 600, 600, 600, mPaint);
// 绘制曲线
for (int i = 0; i < mData.length; i++) {
float x = 100 + i * 100;
float y = 600 - mData[i];
if (i == 0) {
mPath.moveTo(x, y);
} else {
mPath.lineTo(x, y);
}
}
canvas.drawPath(mPath, mPaint);
}
}
```
以上代码中,我们通过Canvas和Paint类绘制了一个简单的曲线图。首先初始化画笔和路径,然后在onDraw()方法中绘制坐标系和曲线。具体的绘制过程是:根据数据计算出每个点的坐标,然后使用Path类将点连接起来,最后调用Canvas的drawPath()方法绘制出曲线。