自定義控制元件讓TextView的drawableLeft與文字一起居中顯示
阿新 • • 發佈:2018-12-21
Drawable[] drawables = getCompoundDrawables();
if (drawables != null ) {
Drawable drawableLeft = drawables[0];
if
(drawableLeft !=
null
) {
float textWidth = getPaint().measureText(getText().toString());
int
drawablePadding = getCompoundDrawablePadding();
int drawableWidth = 0;
drawableWidth = drawableLeft.getIntrinsicWidth();
float bodyWidth = textWidth + drawableWidth + drawablePadding;
canvas.translate((getWidth() - bodyWidth) / 2, 0);
}
}
super .onDraw(canvas);
if (drawables != null ) {
Drawable drawableLeft = drawables[0];
float textWidth = getPaint().measureText(getText().toString());
int drawableWidth = 0;
drawableWidth = drawableLeft.getIntrinsicWidth();
float bodyWidth = textWidth + drawableWidth + drawablePadding;
canvas.translate((getWidth() - bodyWidth) / 2, 0);
}
}
super .onDraw(canvas);