Android Notes 之 自定义View(2) 之 绘图API的使用
16lz
2021-01-23
Android中提供了相应的绘图API来绘制各种各样的图形,因此可以使用绘图API来实现自定义View,下面就实现绘图API来绘制一个自定义的Rotate矩形
效果图如下:
—
1.继承View
2.draw函数中画出矩形
/** * Created by tongs on 2016/4/12. * email:[email protected] */public class RotatingRect extends View { private final int CALL_HANDLER = 1; //画笔对象 private Paint paint; //旋转的角度 private float degrees=0; //利用Handler重新绘制视图 private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { //使View失效 invalidate(); } }; public RotatingRect(Context context) { super(context); initPaint(); } public RotatingRect(Context context, AttributeSet attrs) { super(context, attrs); initPaint(); } public RotatingRect(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initPaint(); } private void initPaint() { paint = new Paint(); paint.setColor(Color.RED); } @Override public void draw(Canvas canvas) { super.draw(canvas); //画布备份,每次都要invalidate canvas.save(); //画布移动到200,200 canvas.translate(200,200); //画布旋转 canvas.rotate(degrees,50,50); //画出矩形 canvas.drawRect(0,0,100,100,paint); //每次重绘之后角度自增 degrees++; //画布恢复,但会对translate,rotate等失效 canvas.restore(); //通知handler进行canvas的视图销毁 handler.sendEmptyMessageDelayed(CALL_HANDLER,100); }}
更多相关文章
- Android UI系统控件进阶(四)—网格视图控件GridView
- Android View视图------Android如何创建一个view。
- Android 视图层级分析辅助工具详解
- Android开发笔记(一百二十二)循环器视图RecyclerView
- android仿微信朋友网、悬浮窗、时间轴、图表、刻度尺、RecyclerV