我正在按基线对齐文本视图和切换。但是,在最终结果中,文本视图文本和切换文本的底部未对齐一个像素。查看字母“RE”底部与水平紫色线之间的间隙。有没有办法补偿这一点,以便两个字符串的底部完全对齐?
答案 0 :(得分:0)
对Switch
小部件进行子类化并覆盖getBaseline()
方法。然后你可以返回你想要的任何值。
这里是TextView(和继承的Switch)正在做什么来计算基线:
@Override
public int getBaseline() {
if (mLayout == null) {
return super.getBaseline();
}
int voffset = 0;
if ((mGravity & Gravity.VERTICAL_GRAVITY_MASK) != Gravity.TOP) {
voffset = getVerticalOffset(true);
}
return getExtendedPaddingTop() + voffset + mLayout.getLineBaseline(0);
}