会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
追梦的Leo
昨夜西风凋碧树,独上高楼,望尽天涯路. 衣带渐宽终不悔,为伊消得人憔悴. 蓦然回首,那人却在灯火阑珊处.
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
···
32
下一页
2018年12月4日
tombstone问题分析
摘要: tombstone文件包含了发生问题的进程ID信息 I/DEBUG ( 241): pid: 244, tid: 244, name: mediaserver >>> /system/bin/mediaserver <<< 当 tid == pid 时,问题发生在父进程,反之问题发生在子进程,从上面
阅读全文
posted @ 2018-12-04 17:20 Leo的银弹
阅读(2443)
评论(0)
推荐(0)
2018年11月30日
自定义view布局过程详解
摘要: 布局过程,就是程序在运行时利用布局文件的代码来计算出实际尺寸的过程。 布局分为两个阶段:测量阶段和布局阶段。 测量阶段:从上到下递归地调用每个 View 或者 ViewGroup 的 measure() 方法,测量他们的尺寸并计算它们的位置; 布局阶段:从上到下递归地调用每个 View 或者 Vie
阅读全文
posted @ 2018-11-30 16:44 Leo的银弹
阅读(210)
评论(0)
推荐(0)
2018年11月29日
硬件加速
摘要: 在 Android 里,硬件加速专指把 View 中绘制的计算工作交给 GPU 来处理。 进一步地再明确一下,这个「绘制的计算工作」指的就是把绘制方法中的那些 Canvas.drawXXX() 变成实际的像素这件事。 在硬件加速关闭的时候,Canvas 绘制的工作方式是: 把要绘制的内容写进一个 B
阅读全文
posted @ 2018-11-29 14:31 Leo的银弹
阅读(382)
评论(0)
推荐(0)
2018年11月28日
AnimatorSet和PropertyValuesHolders.ofKeyframe
摘要: 如果要多个动画配合工作,需要把他们放入AnimatorSet中 使用 playSequentially(),就可以让两个动画依次播放,而不用为它们设置监听器来手动为他们监管协作。 使用playTogether(),就可以让两个动画同时播放 还可以用play with/before/after这种形式
阅读全文
posted @ 2018-11-28 16:29 Leo的银弹
阅读(227)
评论(0)
推荐(0)
属性动画中同一个动画改变多个属性
摘要: 很多时候,你在同一个动画中会需要改变多个属性,例如在改变透明度的同时改变尺寸。 如果使用 ViewPropertyAnimator,你可以直接用连写的方式来在一个动画中同时改变多个属性: 而对于 ObjectAnimator,是不能这么用的。不过你可以使用 PropertyValuesHolder
阅读全文
posted @ 2018-11-28 16:21 Leo的银弹
阅读(345)
评论(0)
推荐(0)
2018年11月27日
属性动画Property Animation
摘要: ViewPropertyAnimation 使用方式:View.animate() 后跟 translationX() 等方法,动画会自动执行。 注意translationX实现是调用对应的set方法而不是直接给该名字的属性赋值,必须提供set方法才能生效 animate后面具体可以跟的方法以及方法
阅读全文
posted @ 2018-11-27 16:48 Leo的银弹
阅读(594)
评论(0)
推荐(0)
Canvas,Matrix的变换顺序
摘要: Canvas的几何变换是倒序的,Matrix是正序。 比如先平移在旋转: canvas.rotate(); canvas.translate(); //translate先执行,rotate后执行 Matrix里面就好比维护者一个双端队列,当调用preXxx方法时,将该方法放入队列的顶端,(即每来一
阅读全文
posted @ 2018-11-27 15:06 Leo的银弹
阅读(839)
评论(0)
推荐(0)
2018年11月23日
View的绘制顺序
摘要: 1.写在 super.onDraw() 的下面 把绘制代码写在 super.onDraw() 的下面,由于绘制代码会在原有内容绘制结束之后才执行,所以绘制内容就会盖住控件原来的内容。 2.写在 super.onDraw() 的上面 如果把绘制代码写在 super.onDraw() 的上面,由于绘制代
阅读全文
posted @ 2018-11-23 17:26 Leo的银弹
阅读(308)
评论(0)
推荐(0)
Canvas范围裁切和几何变换
摘要: 范围裁切 clipRect() clipPath() 和clipRect一样,不过是把坐标换成了path,可以实现更多形状裁切 几何变换 几何变换大概包括三类 1.使用 Canvas 来做常见的二维变换; 2.使用 Matrix 来做常见和不常见的二维变换; 3.使用 Camera 来做三维变换 C
阅读全文
posted @ 2018-11-23 16:24 Leo的银弹
阅读(501)
评论(0)
推荐(0)
drawText文字绘制知识
摘要: drawText(String text, float x, float y, Paint paint) x,y是基于文字基本线的,而不是android坐标系的左上角。 使用staticLayout进行文字换行,它既可以为文字设置宽度上限来让文字自动换行,也会在 \n 处主动换行 例子: 效果: S
阅读全文
posted @ 2018-11-23 10:20 Leo的银弹
阅读(792)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
···
32
下一页
公告