自定义view
楊帥
【此人归隐已久♂不懂凡尘落寞】
展开
-
Android自定义View绘制时钟(一)
GitHub地址练手第一版,实现效果:实现表盘刻度以及数字显示实现时分秒针的联动实现时分秒定位实现步骤初始化刷子设置定时器,每秒刷新一次时分秒针的角度绘制表盘绘制时分秒针绘制表盘刻度绘制表盘数字手动设置时间1. 初始化刷子private Paint mPaint;//通用的刷子private void setInit(){ mPaint ...原创 2019-06-12 18:34:56 · 1123 阅读 · 2 评论 -
Android自定义View绘制时钟(二)
GitHub地址承接上文:Android自定义View绘制时钟(一)练手第二版,解决问题:表盘数字不居中时分秒联动不平滑解决问题:表盘数字不居中时分秒联动不平滑1. 表盘数字不居中//获取text绘制区域顶部以及底部的拓展值,该拓展值是相对给定坐标的坐标。float textTop = mPaint.getFontMetrics().top;float text...原创 2019-06-13 15:26:42 · 392 阅读 · 0 评论 -
Android自定义View着色器Shader使用
GitHub地址项目承接前面钟表项目,但之前代码功能对本篇没影响Shader着色器分类:例子图片中的背景渐变色辐射着色器:RadialGradient线性着色器:LinearGradient混合着色器:ComposeShader扫描着色器:SweepGradient图片着色器:BitmapShader1. 辐射着色器:RadialGradient效果图:实现代码: i...原创 2019-06-14 15:10:47 · 503 阅读 · 0 评论 -
Android OnMeasure原理流程图
View生命周期流程onMeasure作用:根据规则设置View的大小。View大小不确定比如wrap_contentView大小为精确值,或者match_parent时使用View大小不限制,一般ScrollView中使用遍历viewViewGroup尽量大AT_MOST确切大小EXACTLY不限制UNSPECIFIED设置ViewGroup大小View获取父类测量规范AT_MOSTEX...原创 2019-06-19 15:40:33 · 450 阅读 · 0 评论 -
View生命周期流程图
已经分析:创建流程、销毁流程未分析:显示隐藏、获得失去焦点、触摸事件xml创建new创建xml创建创建创建创建创建创建创建创建创建销毁销毁销毁销毁构造方法xml创建执行onFinishInflate方法添加到window上onAttachedToWindow方法改变window可见性onWindowVisibilityChanged方法改变view可见性onVisibilityChanged方...原创 2019-06-14 18:34:09 · 814 阅读 · 0 评论 -
Android自定义View measure()和onMeasre()区别和联系
Android OnMeasure原理流程图1. measure()为final方法,不可重写;onMeasure()可重写。public final void measure(int widthMeasureSpec, int heightMeasureSpec) { ...}protected void onMeasure(int widthMeasureSpec, int heig...原创 2019-06-20 10:04:33 · 600 阅读 · 0 评论 -
Android事件分发流程图
开始转到ViewGroup事件分发DecorView中无响应事件如果点击事件在屏幕外面正常不应该走DecorView可点击询问拦截true 拦截false 不拦截无view接收事件 true 拦截通过点击坐标寻找点击的view注册OnTouchListener & 空间可点击 & mOnTouchListener.onTouch为true可点击不可点击ActivityActivit...原创 2019-06-18 18:33:06 · 518 阅读 · 0 评论