Skip to content

Geekholt/Practice-CustomView

Repository files navigation

Practice-CustomView

自定义 View API 汇总

绘制基础

涂颜色 drawColor

画圆 drawCircle

画矩形 drawRect

画点 drawPoint

画椭圆 drawOval

画直线 drawLine

画圆角矩形 drawRoundRect

画弧形和扇形 drawArc

画心形 drawPath

画直方图

画饼图

Paint详解

线性渐变着色器 LinearGradient

辐射渐变着色器 RadialGradient

扫描渐变着色器 SweepGradient

Bitmap着色器 BitmapShader

混合着色器 ComposeShader

颜色过滤 LightingColorFilter

去除饱和度 ColorMatrixColorFilter

图像混合 Xfermode

线头形状 setStrokeCap

拐角形状 setStrokeJoin

拐角的延长线的最大值 setStrokeMiter

图形的轮廓效果 setPathEffect

阴影 setShadowLayer

模糊效果 setMaskFilter

获取实际path FillPath

获取实际path TextPath

文字绘制

基础文字 drawText

文字换行 StaticLayout

设置文字大小 setTextSize

设置字体 setTypeface

字体加粗 setFakeBoldText

字体删除线 setStrikeThruText

字体下划线 setUnderlineText

文字倾斜 setTextSkewX

文字宽度 setTextScaleX

对齐方式 setTextAlign

获取推荐的行距 getFontSpacing

测量文字宽度 measureText

文字居中对齐 getTextBounds

文字基于baseline对齐 FontMetrics

范围裁切和几何变换

区域裁剪 canvas.clipRect

路径裁剪 canvas.clipPath

普通平移 canvas.translate

普通缩放 canvas.scale

普通旋转 canvas.rotate

普通错切 canvas.skew

matrix平移 matrix.postTranslate

matrix缩放 matrix.postScale

matrix旋转 matrix.postRotate

matrix错切 matrix.postSkew

camera三维旋转默认原点为轴心 camera.rotateX

camera三维旋转设置轴心 canvas.translate、matrix.preTranslate、matrix.postTranslate

camera三维旋转设置轴心+相机位置 camera.setLocation

camera折叠

属性动画基础

位移动画 view.animate().translationX

旋转动画 view.animate().rotationX

放大动画 view.animate().scaleX

透明度动画 view.animate().alpha

组合动画 imageView.animate().scaleX(1.5f).scaleY(1.5f).alpha(1f).translationX(400f)

设置动画时间 setDuration

插值器 setInterpolator

ObjectAnimator

属性动画进阶

颜色估值器 ArgbEvaluator

自定义颜色估值器 TypeEvaluator

自定义对象类型估值器 ObjectAnimator.ofObject

组合动画 PropertyValuesHolder

组合动画协作执行 AnimatorSet

关键帧 Keyframe

About

自定义 View API 汇总

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages