Generated with sparks and insights from 14 sources
Introduction
-
在安卓中生成六边形头像可以通过自定义View来实现。
-
主要步骤包括绘制六边形路径、设置BitmapShader、以及在Canvas上绘制。
-
可以使用Path类来定义六边形的形状,并使用Paint类来设置绘制属性。
-
BitmapShader可以用于将图片渲染到六边形区域内。
-
通过重写onDraw方法,可以将六边形路径和图片绘制到Canvas上。
绘制六边形路径 [1]
-
使用Path类:Path类可以用来定义六边形的形状。
-
计算六边形顶点:根据六边形的边长计算出每个顶点的坐标。
-
绘制路径:使用moveTo和lineTo方法依次连接各个顶点,形成六边形。
-
闭合路径:使用close方法将路径闭合,形成完整的六边形。
设置BitmapShader [1]
-
BitmapShader简介:BitmapShader可以将一个Bitmap作为渲染对象。
-
初始化BitmapShader:在设置Bitmap的时候初始化BitmapShader。
-
设置给Paint:将BitmapShader设置给Paint对象,以便在绘制时使用。
-
TileMode设置:可以设置TileMode.CLAMP来控制Bitmap的填充方式。
重写onDraw方法 [2]
-
重写onDraw:在自定义View中重写onDraw方法。
-
绘制背景:首先绘制六边形的背景路径。
-
设置Xfermode:使用PorterDuffXfermode来控制绘制模式。
-
绘制图片:将Bitmap绘制到六边形路径内。
-
恢复Xfermode:绘制完成后恢复Xfermode。
自定义View示例 [2]
-
CustomerView类:创建一个继承自View的自定义类。
-
初始化Paint:在构造方法中初始化Paint对象。
-
重写onSizeChanged:获取View的宽高。
-
重写onDraw:绘制六边形路径和图片。
-
使用BitmapShader:将图片渲染到六边形区域内。
使用Drawable [1]
-
HiveDrawable类:创建一个继承自Drawable的自定义类。
-
初始化Paint和Path:在构造方法中初始化Paint和Path对象。
-
设置Bitmap:在设置Bitmap时初始化BitmapShader。
-
重写draw方法:在draw方法中绘制六边形路径和图片。
-
设置边界:重写setBounds方法来设置Drawable的边界。
Related Videos
<br><br>
<div class="-md-ext-youtube-widget"> { "title": "\u5982\u4f55\u901a\u8fc7\u526a\u5207\u751f\u6210\u5706\u5f62\u5934\u50cf", "link": "https://www.youtube.com/watch?v=2ZSU-hHFBVg", "channel": { "name": ""}, "published_date": "May 29, 2020", "length": "" }</div>