0

私は現在使用setGravity(Gravity.CENTER_VERTICAL)していますが、これはTextViewが十分に高い場合にうまく機能します。ただし、TextViewが狭い場合は、テキストの下部のみがクリップされます。テキストを上下から均等に切り抜いてほしい。

4

1 に答える 1

0

私は解決策を見つけました、

ビューの高さが足りない場合は、スクロール値を移動する必要があります。この関数を 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);
    }
}
于 2012-05-08T10:39:29.220 に答える