¿Cómo puedo forzar que el texto se centre verticalmente cuando TextView es estrecho?

Estoy usando actualmente setGravity(Gravity.CENTER_VERTICAL) y esto funciona bien cuando TextView es lo suficientemente alto. Sin embargo, si TextView es estrecho, solo se recorta la parte inferior del texto; Quiero que el texto sea recortado. igualmente desde arriba y desde abajo.

preguntado el 03 de mayo de 12 a las 16:05

1 Respuestas

encontré la solución,

si la altura de la vista no es suficiente, debe mover el valor de desplazamiento. puede llamar a esta función en la función de diseño,

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);
    }
}

contestado el 08 de mayo de 12 a las 11:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.