请在ONDRAW函数中编程,使之完成以下功 能: (1) 自定义坐标, 将客户区中心点做为坐标中 心点,x正方向沿屏幕向左,y轴正方向沿屏幕向 上。 (2) 以x轴做为中心线,画一个蓝色的正弦曲 线。
时间: 2024-10-13 19:17:21 浏览: 33
在OnDraw函数中实现上述功能需要利用Android图形绘制API,这里是一个简单的示例,假设你正在使用`Canvas`对象:
```java
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 获取客户区的宽高和中心点
int width = getWidth();
int height = getHeight();
float centerX = width / 2;
float centerY = height / 2;
// 设置自定义坐标系
canvas.translate(-centerX, -centerY); // 移动到新坐标系的原点
// 设置线条颜色和宽度
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setStrokeWidth(5f); // 可调整线条粗细
// 创建路径并开始绘制正弦曲线
Path path = new Path();
path.moveTo(0, centerY); // 初始位置设在y轴上
for (float x = -width / 4; x <= width / 4; x += 10f) { // 遍历x轴,步长可根据需求调整
float y = (float) Math.sin(Math.toRadians(x)); // 计算对应y值,使用弧度制
path.lineTo(x, centerY + y); // 绘制曲线
}
paint.setStyle(Paint.Style.STROKE); // 设置线条样式
canvas.drawPath(path, paint); // 绘制路径
// 恢复默认坐标系统
canvas.translate(centerX, centerY); // 回滚到原始坐标
}
```
在这个例子中,我们首先将画布的原点移动到客户区的中心,然后创建一条从y轴开始的蓝色正弦曲线。通过遍历x轴,并计算对应的正弦值,我们在屏幕上绘制出了曲线。
阅读全文