继承View绘制正方形且360旋转
2024-09-28 20:56:28
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View; public class RotatingRect extends View { private Paint p; // 画笔
private float degrees = 0; // 旋转角度 public RotatingRect(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr); initProperties();
} public RotatingRect(Context context, AttributeSet attrs) {
super(context, attrs); initProperties();
} public RotatingRect(Context context) {
super(context); initProperties();
} private void initProperties(){
p = new Paint();
p.setColor(Color.RED);
} @Override
public void draw(Canvas canvas) {
super.draw(canvas); canvas.save();
// canvas.rotate(degrees);
// 调整坐标
canvas.translate(200, 200);
// 设置,绕着中心点旋转
canvas.rotate(degrees, 50, 50);
canvas.drawRect(0, 0, 100, 100, p);
degrees ++;
canvas.restore(); invalidate();
}
}
最新文章
- TCP头部结构
- 重构第15天 移除重复的代码(Remove Duplication)
- js的面向对象的程序设计之理解继承
- html的视频插件 (转)
- 世界上最方便的SharePoint移动客户端--Rshare
- JS浏览器对象-Location对象
- c#、vb 自动属性
- 前端入门23-CSS预处理器(Less&;Sass)
- 稀疏矩阵 part 4
- 查看linux系统的运行级别
- ASP.NET Core入门系列教程
- oracle 正则表达式 匹配
- Delphi revelations #1 – kbmMW Smart client on NextGen (Android) – Scope problems
- springboot 使用的配置
- Atom+Nuclide(Windows)开发ReactNative
- vue 中的computed和watch
- uva 707(记忆化搜索)
- JRE not compatible with workspace .class file compatibility: 1.7
- 一个简单的AXIS远程调用Web Service示例
- 笔记-python-字符串格式化-format()