package com.XXXX.XXXX;
/**
* @ClassName GetCirclePointView
* @Description TODO
* @Author cjd
* @Date 2019-09-19 10:51
*/
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.view.View;
public class AnimotionImage extends View {
// private Paint mPaint;
private int w, h;
int angle = 0;
Bitmap bitmap;
public AnimotionImage(Context context) {
super(context);
init();
}
public AnimotionImage(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public AnimotionImage(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
this.w = w;
this.h = h;
}
private void init() {
// mPaint = new Paint();
// mPaint.setStrokeWidth(5);
// mPaint.setColor(Color.WHITE);
// mPaint.setAntiAlias(true);
// mPaint.setStyle(Paint.Style.STROKE);
bitmap = BitmapFactory.decodeResource(getResources(), com.cnlaunch.batterytest.R.drawable.rotation_image);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//将圆点平移到View的中心,而不是默认的左上角
canvas.translate(w / 2, h / 2);
int radius = 20;
// canvas.drawCircle(0, 0, radius, mPaint);
// for(int i = 0;i<360;i+= 30){
//计算小圆的圆心点(x,y)点在圆的边上
int x = 0 + (int) (radius * Math.cos(angle * Math.PI / 180));
int y = 0 + (int) (radius * Math.sin(angle * Math.PI / 180));
angle += 5;
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLUE);
paint.setAntiAlias(true);
// canvas.drawCircle(x, y, 20, paint);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
canvas.drawBitmap(bitmap, x - width / 2, y - height / 2, paint);
mHandler.sendEmptyMessageDelayed(0, 10);
// }
}
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
angle += 5;
invalidate();
}
};
}
阿达老师专业推荐动画
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 又到了一年一度欢聚的时间了 嗯?是什么日子? 当然是不用上学 不再精神紧绷 在家可以为所欲为的暑假啦~ 许多小伙伴...
- 1.事实证明:“初次印象”是不可靠的,而偏见又比无知更可怕。 故事开始的那场舞会,是达西和伊丽莎白的初次见面。 舞...
- 很高兴终于开始了学习写作之旅,今天这是第一次交作业,内容是拆解Spenser的文章《你和头等舱的距离,差的不只是钱...