资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android描边,手机描边裁剪

android绘图之Paint(1)

Paint 讲解开篇

创新互联网站建设服务商,为中小企业提供成都网站建设、网站设计服务,网站设计,网站托管维护等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联

android中绘制特定图案类似显示中的绘画需要画笔和画纸,为此android提供了Paint和Canvas。

Paint和Canvas分别代表画笔和画布。

The Paint class holds the style and color information about how to draw geometries, text and bitmaps.

Paint类似画笔,保存着绘制文本,图形,图片的样式和颜色信息。(颜色,宽度,粗细,透明度,字体样式,字体大小)。

提供了三种初始化方法:

Paint(),

Paint(int flags),

Paint(Paint paint)。

第二种构造函数传入了flag,相当于无参构造之后调用了setFlags(int),有很多种flag,这里举个例子UNDERLINE_TEXT_FLAG(其他的flag见developers文档),绘制文字时会有下划线,多个flag或可以达到设置多个flag的目的。

Paint常用的设置函数:

setAlpha()透明度

setAntiAlias()抗锯齿

setColor(),setARGB()设置颜色

setStyle(Paint.Style style) 设置填充样式

setStrokeCap(Paint.Cap cap) 画笔的样式(落笔,收笔时)

setStrokeJoin(Paint.Join join)连接点的样式

setStrokeWidth(float width)设置画笔宽度

setShadowLayer(float radius, float dx, float dy, int shadowColor) 设置阴影

setTextSize(float textSize) 字体大小

setTextAlign(Paint.Align.RIGHT)设置字体对齐方式

后期讲解:

setColorFilter(ColorFilter filter) 设置颜色过滤

setUnderlineText(true) 下划线

setPathEffect() 设置路径效果

setTypeface() 设置字体风格

setFilterBitmap() 设置图片过滤

setXfermode(Xfermode xfermode) xfermode设置图像混合模式

setShader(Shader shader) 设置shader包括渐变shader,图片shader

。。。。。。。。

setAlpha(int a) 设置透明度,a 值得范围 [0..255],仅仅改变setColor()的颜色的透明度,不改变颜色值,0是完全透明,255完全不透明。

注意:需要先调用setColor(),再调用setAlpha才会生效,否则将会被覆盖,因为setColor中包含了alpha。

setStyle设置填充样式,所谓填充的样式指只绘制线或者绘制同时填充:

Paint.Style.FILL 填充内部,会把闭合区域填充颜色

Paint.Style.FILL_AND_STROKE 填充内部和描边

Paint.Style.STROKE 仅描边,仅仅绘制边界

默认FILL 填充内部,

STROKE样式

FILL_AND_STROKE样式和FILL 类似但当画笔宽度很宽时会产生不同

setColor,setARGB设置颜色,设置画笔的颜色,setARGB()参数范围0-255。

setAntiAlias(boolean) 抗锯齿,使边界更顺滑(有些屏幕分辨率不高,导致像素点比较大,绘制边界可能会有颗粒感,打开抗锯齿边界颗粒感会减少)。

setTextSize(float textSize) 字体大小,单位是px,如果是dp要注意转换。

setTextAlign(Paint.Align.RIGHT)设置字体对齐方式,根据下面的实例可以,对齐方式基于开始绘制的点。

一起讲解:

mPaint.setTextSize(50);

mPaint.setTextAlign(Paint.Align.LEFT);

canvas.drawText("android Paint 学习 LEFT",300,300,mPaint);

mPaint.setTextAlign(Paint.Align.CENTER);

canvas.drawText("android Paint 学习 CENTER",300,400,mPaint);

mPaint.setTextAlign(Paint.Align.RIGHT);

canvas.drawText("android Paint 学习 RIGHT",300,500,mPaint);

setTextAlign对齐是相对于开始绘制的坐标点。

setShadowLayer(float radius, float dx, float dy, int shadowColor) 设置阴影

mPaint.setShadowLayer(10,-20,30,Color.GRAY);

canvas.drawText("android Paint 学习 CENTER",getWidth()/2,450,mPaint);

setShadowLayer(float radius, float dx, float dy, int shadowColor)

Radius设置角度,dx,dy控制字体的上下左右出现,有正负之分,dx的正负代表右左,dy的正负代表下上。

setStrokeCap(Paint.Cap.ROUND)

设置绘制起始点和结尾点的样式,

三种样式ROUND,BUTT,SQUARE

Cap.ROUND(圆形)、Cap.SQUARE(方形)、Paint.Cap.BUTT(无)

ROUND:

BUTT和SQUARE差别不大:

setStrokeJoin(Paint.Join join),设置绘制path连接点的样式

mPaint.setStrokeJoin(Paint.Join.ROUND);

// mPaint.setStrokeJoin(Paint.Join.MITER);

// mPaint.setStrokeJoin(Paint.Join.BEVEL);

Join.MITER(结合处为锐角)、

Join.Round(结合处为圆弧)、

Join.BEVEL(结合处为直线)

ROUND样式:

MITER样式:

BEVEL样式:

setXfermode(Xfermode xfermode) xfermode设置图像混合模式

setShader(Shader shader) 设置shader包括渐变shader,图片shader

还有很多其他属性会后续讲解。

android绘图之Paint(1)

android绘图之Canvas基础(2)

Android绘图之Path(3)

Android绘图之drawText绘制文本相关(4)

Android绘图之Canvas概念理解(5)

Android绘图之Canvas变换(6)

Android绘图之Canvas状态保存和恢复(7)

Android绘图之PathEffect (8)

Android绘图之LinearGradient线性渐变(9)

Android绘图之SweepGradient(10)

Android绘图之RadialGradient 放射渐变(11)

Android绘制之BitmapShader(12)

Android绘图之ComposeShader,PorterDuff.mode及Xfermode(13)

Android绘图之drawText,getTextBounds,measureText,FontMetrics,基线(14)

Android绘图之贝塞尔曲线简介(15)

Android绘图之PathMeasure(16)

Android 动态修改渐变 GradientDrawable

android 文字怎么加描边

我感觉你描述的应该是一种字体,导入字体库即可使用。在网上查查你要的字体的字体库

怎么给android 设置边框

1.首先在res目录下新建一个xml文件,类型选择drawable,将自动生一个一个drawable文件(我用的sdk是android 4.1),并生成一个xml文件,在其中写入以下代码:

[java] view plaincopy

?xml version="1.0" encoding="utf-8"?

shape xmlns:android=""

solid android:color="#FFFFFF" /

stroke

android:width="0.01dp"

android:color="#FFFFFF" /

padding

android:bottom="1dp"

android:left="0.5dp"

android:right="0.5dp"

android:top="0dp" /

/shape

2.在要设置边框的控件xml命令里加入:android:background=“@drawable/boder”

android 中的stroke是什么意思

stroke是描边的意思.

填充颜色为#ccc,描边为红色,描边宽度为10.

Android 制作逐渐显示动画(描边动画、矢量动画VectorDrawble)

Android 系统从5.0开始支持矢量图,可以通过 Android Studio自带的 Vector Assert 工具将SVG、PSD 转成VectorDrawble。

转化好的VectorDrawblew看起来好像挺复杂,是不是完全看不懂。没关系,只要转化的图形没有问题,你不用关心其内部数据。

我们直接进入矢量动画部分。

矢量动画的实现通过在xml定义animated-vector标签(其对应的Java对象是AnimatedVectorDrawable)实现,如下所示:

可以看到animated-vector标签是主要元素是target,它其实就起到一个桥梁作用,将动画和VectorDraw中的图形联系起来。

比如target1,它将属性动画splash_animator_draw和vectorDrawble对象中name等于line1的对象联系起来,即:动画将生效在line1对象上。

之前展示了由svg图片通过Android Studio Vector Assert工具转换过来的VectorDrawble,里面的实际上svg画图语法,path标签里的pathData包含了画图的路径(坐标)和语法

在实际使用过程中有几率遇到这样两个问题(笔者都遇到过):

其实以上两个问题都要求你掌握进阶知识,svg画图语法。

官方svg语法解析:

不喜欢看英文,去这篇博客:

对于Android程序员,Lottie的动画使用很简单,步骤如下:

1.接入Lottie

从动画实现上来说,Lottie动画应该是最简单的方法了。

Lottie的优点很明显:

Lottie的缺点:

好了,如果觉得本文对你有帮助,请关注、留言、点赞我,谢谢!


分享题目:android描边,手机描边裁剪
文章起源:http://cdkjz.cn/article/hoopse.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220