自定義控制項文字居中

2021-07-24 10:47:08 字數 711 閱讀 7163

繪製文字的x,y座標是baseline左端點的座標,原來一直理解為了文字的左上角,今天親測才發現,

文字的x座標號計算:(控制項寬度-文字寬度)/2

文字的y座標計算:控制項高度/2+距離baseline的那段距離(-(decent+ascent)/2)

android繪製文字時以baseline為y軸0座標線,向上為負,向下為正,所以文字的一半正好是(decent+asecnt)/2,

文字要居中,文字的橫向中心線必然與控制項的橫向中心線重合,而中心線的距離baseline的距離便是(decent+ascent)/2

這個值是負數,所以(控制項高度/2)加上它的時候要取它的相反數。

class fonttext  extends view 

public fonttext(context context, attributeset attrs)

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

private void

initpaint()

@override

protected void

ondraw(canvas canvas)

上下滾動文字自定義控制項

public class verticalrollingtextview extends view private void parseattrs context context,attributeset attrs override protected void ondraw canvas can...

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...

自定義控制項

首先是以下這幾項,attribute defaultproperty指定元件的預設屬性,toolboxdata指定當從ide工具中的 工具箱中拖動自定義控制項時為它生成的預設標記 defaultproperty text toolboxdata mycontrol runat server 上面這些...