首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
willA笔记更新ing
掘友等级
Android/前端
记录平时的学习笔记,偶尔发一些技术分析文章
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
8
文章 7
沸点 1
赞
8
返回
|
搜索文章
最新
热门
自定义view⑥自定义Drawable
Bitmap 是位图信息的存储,即一个矩形图像每个像素的颜色信息的存储器。 Bitmap -> Drawable:创建一个 BitmapDrawable。 BitmapDrawable.getBitmap() 直接获取;如果不是,创建一个 Bitmap 和一个 Canvas,使…
自定义view⑤属性动画和硬件加速
用 start() 方法执行动画。 Interpolator 其实就是速度设置器。你在参数里填入不同的 Interpolator ,动画就会以不同的速度模型来执行 和 View 的点击、⻓按监听器一样,Animator 也可以使用 setXxxListener() addXxx…
自定义View④范围裁切和几何变换
重点:Canvas 的几何变换方法参照的是 View 的坐标系,而绘制方法 (drawXxx())参照的是 Canvas 自己的坐标系。
自定义View③文字的绘制
DP和SPSP受像素密度和用户设置(手机字体大小设置)影响DP只受像素密度影响文字纵向居中显示下面完成一个运动视图的绘制,比如运动量统计首先我们画一个圆环然后绘制进度条然后在圆环中心绘制文字,效果如下
自定义View②Xfermode
为了把需要互相作用的图形放在单独的位置来绘制,不会受 View 本身的影响。 如果不使用 saveLayer(),绘制的目标区域将总是整个 View 的范围,两个图形 的交叉区域就错误了
自定义View①绘制基础
canvas绘制,画一条线drawLine,画一个圆drawCircle效果如下dp2px以前开发很多人用的都是context.getResources().getxxX的方式获取资源,其实有一种更简
BlockCanary与性能监控
在调用 start() 时,通过调用主线程的 Looper.setMessageLogging() 方法,为 Looper 的 mLogging 成员变量赋值。 在 Looper 死循环中, println 方法分别会在 dispatchMessage(msg) 之 前和之后被…
Android架构浅谈
在这里,我们可以看到其实model和view是隔离开的,并没有直接交互,这是我们日常开发中常用的方式,网上又很多文章讲model.setView(..。),然后在model内view实现更新,这其实很不符合安卓开发的常理,而且我们也完全没有必要为了写经典MVC模式代码而做一些让…
Android动手撸一个热更新
因为补丁的类在原先的 App 中已经存在,所以应该把补丁的 Element 对象插入 到 dexElements 的前面才行,插入到后面会被忽略掉。 ...
Android组件化和插件化
现在有了 gradle,拆模块非常方便了。不过模块化开发是在 gradle 到来之 前就有了的 App 的部分功能模块在打包时并不以传统方式打包进 apk 文件中,而是以另一种形 式二次封装进 apk内部,或者放在网络上适时下载,在需要的时候动态对这些功能 模块进行加载,称之为…
下一页
个人成就
文章被点赞
547
文章被阅读
195,316
掘力值
5,037
关注了
34
关注者
381
收藏集
3
关注标签
22
加入于
2018-05-11