/**获得字体高度*/
Paint textPaint = new Paint( Paint.ANTI_ALIAS_FLAG);
Rect rect = new Rect();
textPaint.getTextBounds("辉", 0, 1, rect);
int fontHeight=rect.height()+2;
/**获得字体高度*/
=====================
paint.setAntiAlias(true);//去锯齿
===========字体居中============
/*Paint.Align 是文本对齐方式的一个枚举类
* CENTER表示文本居中
* LEFT 表示做对齐
* RIGHT 表示右对齐
*/
p.setTextAlign(Paint.Align.CENTER);
==========新方法==============
2011年2月17日
获得宽度
Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mTextPaint.setColor(Color.WHITE);
// Define the string.
String displayText = “Hello World!”;
// Measure the width of the text string.
float textWidth = mTextPaint.measureText(displayText);
获得高度
public int getFontHeight(float fontSize)
{
Paint paint = new Paint();
paint.setTextSize(fontSize);
FontMetrics fm = paint.getFontMetrics();
return (int) Math.ceil(fm.descent - fm.top) + 2;
}
ps:原理
Canvas 作为绘制文本时,使用FontMetrics对象,计算位置的坐标。
它的思路和java.awt.FontMetrics的基本相同。
FontMetrics对象
它以四个基本坐标为基准,分别为:
・FontMetrics.top
・FontMetrics.ascent
・FontMetrics.descent
・FontMetrics.bottom
该图片将如下
=====================
2011年2月18日
字体风格Typeface种类
int Style类型
BOLD BOLD_ITALIC ITALIC NORMAL
|
粗体 粗斜体 斜体 普通字体
|
Typeface类型
DEFAULT DEFAULT_BOLD MONOSPACE SANS_SERIF SERIF
|
默认字体 默认粗体 单间隔字体 无衬线字体 衬线字体
|
Typeface.create(Typeface family,int style)
创建一个混合型新的字体:有4*5中搭配
Typeface.setTypeface (Typeface tf, int style)
设置一个混合型字体:有4*5中搭配
Typeface.setTypeface(Typeface tf)
设置一个只有Typeface风格的字体:有五种形式
分享到:
相关推荐
android字体自动适应
常见的字体库,而Android字体库,这本来是一个很大的库的,我通过字体压缩工具已经把字体库的文件缩小了很多,可以直接下载使用,不需要再用工具转换
Android字体大小自适应不同分辨率的解决办法 今天有人问我,Android系统不同分辨率,不同大小的手机,字体大小怎么去适应呢?其实字体的适应和图片的适应是一个道理的。 一、原理如下: 假设需要适应320×240,480...
android 改变字体字体和大小,单机按钮来改变字体和大小
这是android字体能够发光的特殊处理,吸引用户的眼球,简单易用。
Calligraphy 是一个用来简化 Android 应用使用自定义字体的类库, 该类库会自动查找应用中的 TextView 并设置其使用的字体。效果图:使用:添加依赖库(Download (.aar))dependencies { compile 'uk.co....