请告诉我android eclipse怎么画出一个绕圆运动的小球
时间: 2023-06-11 10:08:01 浏览: 45
要在 Android Eclipse 中画出一个绕圆运动的小球,你需要使用自定义 View。
以下是一个绕圆运动的小球的自定义 View 的示例代码:
```java
public class CircleView extends View {
private Paint mPaint;
private int mCircleRadius = 50;
private int mCircleX;
private int mCircleY;
private int mCenterX;
private int mCenterY;
private float mAngle = 0;
private int mRadius = 200;
public CircleView(Context context) {
super(context);
init();
}
public CircleView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CircleView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init() {
mPaint = new Paint();
mPaint.setColor(Color.BLUE);
mPaint.setStyle(Paint.Style.FILL);
mPaint.setAntiAlias(true);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mCenterX = w / 2;
mCenterY = h / 2;
mCircleX = mCenterX + mRadius;
mCircleY = mCenterY;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawCircle(mCircleX, mCircleY, mCircleRadius, mPaint);
mAngle += 0.05;
mCircleX = (int) (mCenterX + mRadius * Math.cos(mAngle));
mCircleY = (int) (mCenterY + mRadius * Math.sin(mAngle));
invalidate(); // 重绘
}
}
```
这个自定义 View 实现了一个绕圆运动的小球。在 `onSizeChanged` 方法中,确定了圆心和小球初始位置。在 `onDraw` 方法中,使用 `Math.cos` 和 `Math.sin` 计算小球的位置,并使用 `invalidate` 使 View 重绘,从而形成动画效果。
在你的 Activity 或 Fragment 中可以这样使用:
```java
CircleView circleView = new CircleView(this);
setContentView(circleView);
```
这样就可以在你的应用程序中看到绕圆运动的小球了。