Android使用Path绘制相关的图形
2015-11-02 17:13
519 查看
public class PathView extends View { private Paint mPaint; private Path mPath; public PathView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } public PathView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public PathView(Context context) { super(context); init(); } private void init() { mPaint = new Paint(); mPaint.setColor(Color.GREEN); mPaint.setStyle(Paint.Style.FILL); mPaint.setTextSize(50); mPaint.setAntiAlias(true); mPath = new Path(); } @Override protected void onDraw(Canvas canvas) { drawCircle(canvas); drawTriangle(canvas); drawRect(canvas); // drawText(canvas); } /** * 在path上画文字 */ private void drawText(Canvas canvas) { mPath.addCircle(360, 360, 100, Direction.CW); // 顺时针 canvas.drawTextOnPath("coding the world", mPath, 0, 0, mPaint); } /** * 画圆形 */ private void drawCircle(Canvas canvas) { mPath.addCircle(260, 260, 50, Direction.CW); canvas.drawPath(mPath, mPaint); } /** * 画三角形 */ private void drawTriangle(Canvas canvas) { mPath.moveTo(50, 50); mPath.lineTo(0, 100); mPath.lineTo(100, 100); mPath.close(); canvas.drawPath(mPath, mPaint); } /** * 画矩形 */ private void drawRect(Canvas canvas) { mPath.moveTo(100, 100); mPath.lineTo(100, 200); mPath.lineTo(200, 200); mPath.lineTo(200, 100); mPath.close(); canvas.drawPath(mPath, mPaint); } }
效果如图:
相关文章推荐
- android 实现每天7点到21点定时提示的功能
- Android学习路线权威指南
- scrollTo(String text) and scrollToExact(String text) method of Android Driver not working
- 调试中手机抓包工具的使用
- 推荐4个Android引导页控件
- Android各个版本版本号对应关系表及悬浮框
- Android大图片裁剪终极解决方案 原理分析
- Android动画之属性动画
- 实现QQ登录第三方APP(Android)
- Android 关于轻量级存储PreferencesUtils
- Android事件总线纷发库EventBus的使用方法
- Android Studio进行单元测试
- Android 对Canvas的translate方法总结
- 定制Android系统开发之八——实现从JNI到Java的回调
- Android学习路线
- Android程序开发:简单电话拨号器
- Android移动view动画问题
- Android的分类ListView
- android学习之Service
- Android程序开发:简单电话拨号器