android自定义View绘制的时候,会有很多情况下要与字体打交道,涉及到字体宽度、高度的时候要特别注意一下几个概念,见图:
baseLine:一行文字的底线。
Ascent: 字符顶部到baseLine的距离。
Descent: 字符底部到baseLine的距离。
Leading: 字符行间距。
Jav...
分类:
移动开发 时间:
2015-05-15 15:34:23
阅读次数:
159
Aexi(7)—初步成果
今天终于完成了基本的图文混排.下面我们来一下效果图
在里面输入了一个放假的通知试试效果.9月3号才放假显得有点遥远啊,不过还是比较开心的.但是Aexi能初见成效我会更加开心.
下面的计划就是再将Aexi进行一些优化,修复大量的bug,并将其移植到Android平台上封装成一个库.
那么目前存在的主要的bug有哪些呢?...
分类:
其他好文 时间:
2015-05-14 08:46:12
阅读次数:
143
这两天我们给Aexi增加了Command模式。
其实我对于Command模式比较少的印象就是可以用来做撤销操作的功能,我看过的所有的书对于这个模式的介绍,都是把它和撤销操作相联系,似乎Command模式是专门为这一功能设计的.Command模式有没有其他的应用呢,我也不太知道,但是既然这里可以用到,那我们就在这里用一下.至于对这个模式更深层次的理解,那就等到遇到相应的问题的时候具体对...
分类:
其他好文 时间:
2015-05-10 11:28:20
阅读次数:
155
1 import android.content.Context; 2 import android.graphics.Canvas; 3 import android.graphics.Color; 4 import android.graphics.Paint; 5 import androi....
分类:
其他好文 时间:
2015-05-04 17:40:28
阅读次数:
82
整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为:
- 判断是否需要重新计算视图大小(measure)
- 判断是否重新需要安置视图的位置(layout)
- 判断是否需要重绘(draw)...
分类:
移动开发 时间:
2015-05-03 20:43:17
阅读次数:
222
原理:
通过自定义View绘制显示密码按钮,当点击密码按钮的时候调用setInputType来更改属性。
解决方案:
就直接上代码了
package com.finals.view;
import com.example.test.R;
import android.content.Context;
import android.content.res.TypedArray;...
分类:
移动开发 时间:
2015-04-25 18:24:24
阅读次数:
187
1 import android.app.Activity; 2 import android.os.Bundle; 3 import android.view.Display; 4 import android.view.View; 5 import android.conten...
分类:
其他好文 时间:
2015-04-13 16:19:02
阅读次数:
155
View绘制过程详解界面窗口的根布局是DecorView,该类继承自FrameLayout.说到View绘制,想到的就是从这里入手,而FrameLayout继承自ViewGroup。感觉绘制肯定会在ViewGroup或者View中,
但是木有找到。发现ViewGroup实现ViewParent接口,而ViewParent有一个实现类是ViewRootImpl, ViewGruop中会使用ViewR...
分类:
其他好文 时间:
2015-04-10 15:34:28
阅读次数:
147
1. View 树的绘图流程
当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 draw 。整个 View 树的绘图流程在ViewRoot.java类的performTraversals()函数展开,该函数所做
的工作可简单概况为是否需要重新计算视图大小(measure)、是...
分类:
移动开发 时间:
2015-04-02 11:41:25
阅读次数:
225
以前在研究自定义空间的时候,查看过View和ViewGroup绘制的流程的。只是定性的知道会经过onMeasure—onLayout—onDraw这些流程。上一篇Android视图加载到窗口的过程分析中分析了视图加载到窗口的过程。主要就是一系列的addView操作,这篇就从addView方法开始看看View是如何绘制到窗口上的。
ActivityThread#handleResumeActi...
分类:
移动开发 时间:
2015-03-31 09:05:07
阅读次数:
210