Android Paint的简单实用
来源:互联网 发布:360n5手机怎么样 知乎 编辑:程序博客网 时间:2024/05/22 10:28
首先要注意。
自定控件的PaintView要继承自View,所画的内容才会正常显示出来。如果继承ViewGroup默认是不调用onDraw()方法的。
1 构造Paint
private Paint mPaint; public PaintView(Context context, AttributeSet attrs) { super(context, attrs); mPaint = new Paint(); }
2 画圆
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mPaint.reset(); //重置 mPaint.setColor(Color.RED); //设置画笔颜色 mPaint.setAlpha(255); //设置透明度 0-255 float centerx = getWidth()/2; //中心点x坐标 float centerY = getHeight()/2;//中心点y坐标 canvas.drawCircle(centerx, centerY, 100, mPaint); }
3 设置画笔填充样式
mPaint.setStyle(Paint.Style.STROKE);//描边
其他两种样式
填充并描边
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
填充
mPaint.setStyle(Paint.Style.FILL);
4 设置画笔宽度
mPaint.setStrokeWidth(20); //画笔的宽度
5 path
Path path = new Path(); path.moveTo(100, 100); path.lineTo(300, 100); path.lineTo(300, 300); path.lineTo(100,300); mPaint.setStrokeJoin(Paint.Join.MITER); //拐角形状 直线 canvas.drawPath(path, mPaint);
6 拐角形状
mPaint.setStrokeJoin(Paint.Join.ROUND);//拐角形状 圆弧
mPaint.setStrokeJoin(Paint.Join.BEVEL); //锐角
看下图 更易懂
6 线帽
mPaint.setStrokeCap(Paint.Cap.ROUND); //圆帽
mPaint.setStrokeCap(Paint.Cap.SQUARE); //平帽
mPaint.setStrokeCap(Paint.Cap.BUTT);//没有帽
看下图更易懂
文字绘制
1 字符间距
float letterSpace = 2.0f; mPaint.setLetterSpacing(letterSpace); //设置字符间距 canvas.drawText("德玛西亚必胜!", centerx-100, centerY, mPaint);
Log.i("PaintView", "字符间距" + mPaint.getLetterSpacing());
打印结果:
com.yeliang.app03_paint I/PaintView: 字符间距2.0
2 字体相关
mPaint.setTextSize(20); //设置文字大小 mPaint.setTypeface(Typeface.DEFAULT_BOLD); //粗体
mPaint.setTextSkewX(-0.25f); //倾斜度
阅读全文
0 0
- Android Paint的简单实用
- android Paint 和Canvas的简单使用
- Android Paint简单使用
- android的canvas简单实用
- Android AlertDialog的简单实用
- android PopupWindow的简单实用
- Android WebView的简单实用
- Android ConvenientBanner的简单实用
- Android SqlLite的简单实用
- Android绘图基础:Canvas、Paint、Path的简单使用
- Android学习笔记09:Paint及Canvas的简单应用
- Android学习笔记09:Paint及Canvas的简单应用
- Android学习笔记09:Paint及Canvas的简单应用
- Android学习笔记09:Paint及Canvas的简单应用
- Android学习笔记:Paint及Canvas的简单应用
- Android学习笔记01:Paint及Canvas的简单应用
- Android学习笔记09:Paint及Canvas的简单应用
- Android Paint类的
- 单向链表的原理
- xjb——洛谷P1191 矩形
- Android Studio3.0下使用Kotlin
- RxAndroid Rxjava学习笔记
- BZOJ-1588 营业额统计 Treap裸题
- Android Paint的简单实用
- ubuntu上第一个shell脚本
- 多线程笔记
- Android源码APK剥离到eclipse调试运行教程
- Preference相关学习
- 互联网行业岗位职责
- 浅谈.net remoting 与 webservice
- openwrt上移植NFS服务器
- nginx进程模型