0
我目前使用的是setGravity(Gravity.CENTER_VERTICAL)
,這在TextView足夠高的情況下效果很好。但是,如果TextView很窄,那麼只能剪切文本的底部;我希望文本從上面和下面同樣剪切。如何在TextView較窄時強制文本垂直居中?
我目前使用的是setGravity(Gravity.CENTER_VERTICAL)
,這在TextView足夠高的情況下效果很好。但是,如果TextView很窄,那麼只能剪切文本的底部;我希望文本從上面和下面同樣剪切。如何在TextView較窄時強制文本垂直居中?
我找到了解決辦法,
如果視圖高度是不夠的,必須移動滾動值。你可以在onlayout函數中調用這個函數,
protected void alignVerticalAlingment() {
int fontSize = getLineCount() * getLineHeight();
if (getHeight() > 0) {
setPadding(getPaddingLeft(), 0, getPaddingBottom(), 0);
int height = getHeight();
int y = (fontSize - height + (int) getPaint()
.descent())/2;
scrollTo(0, y);
}
}