Android字型度量 FontMetrics

2021-08-15 12:08:16 字數 1887 閱讀 1081

要點如下:

1. 基準點是baseline

2. ascent是baseline之上至字元最高處的距離

3. descent是baseline之下至字元最低處的距離

4. leading文件說的很含糊,這個我還不清楚,但有人說是上一行字元的descent到下一行的ascent之間的距離,也有人說不是

5. top指的是指的是最高字元到baseline的值,即ascent的最大值

6. 同上,bottom指的是最下字元到baseline的值,即descent的最大值

字型為斜體狀態下(你沒有看錯,中文只設定mpaint.settypeface(typeface.create("", typeface.italic))是斜體不了的):

上驗證**:

public class myview extends view   

public myview(context context, attributeset attrs)

public myview(context context, attributeset attrs, int defstyle)

@override

protected void ondraw(canvas canvas)

}

(三)將字畫在矩形背景的正中位置

fontmetrics.top的數值是個負數,其絕對值就是字型繪製邊界到baseline的距離。

所以如果是把文字畫在 fontmetrics高度的矩形中, drawtext就應該傳入 -fontmetrics.top。

要畫在targetrect的居中位置,baseline的計算公式就是(本人抄的原博主的,也不知道怎麼計算的):

(四)將字畫在自定義view

private paint textpaint;

public textseekbar(context context)

public textseekbar(context context, attributeset attrs)

public textseekbar(context context, attributeset attrs, int defstyleattr)

@override

protected void ondraw(canvas canvas)

}效果:

Android中字型設定Font

1.一般使用預設字型,可以使用以下四種安卓系統提供的字型。android typeface normal android typeface sans android typeface serif android typeface monospace 2.如果需要設定其他的字型,則需要先得到字型的 t...

css字型樣式屬性 font字型

1 font size 字型大小 2 font family 字型 3 font weight 字型粗細 屬性值描述normal 預設值 不加粗 bold 定義粗體 100 900 400等同於normal,而700等於bold 4 font style 字型風格屬性 作用normal 預設值,瀏覽...

CSS屬性之字型 Font

css屬性之字型 font 復合屬性,各屬性見下文。必須同時包含font size和font family,且這兩個值順序不能變,其他關鍵字的值放到這兩個值的前面,順序可以隨意打亂。可以在字型大小值 font size 上放乙個可選的行高值 line height 作為字型大小的某種附屬值,後面必須...