5

我有一个EditText. Android它的内容很长,并且会滚动到页面中 我怎样才能找到内容的真实高度,而不仅仅是可见区域?

我试过这个,但它只是给出了可见区域的高度:

EditText editor=(EditText)findViewById(R.id.ed1);
.
.
.
double H=editor.getHeight();

不是 H 是 1150,不是 10000 或类似内容的真实高度。

4

3 回答 3

3

这就是我所做的:

EditText tv = ...;
if (Build.VERSION.SDK_INT >= 16) {
    totalHeight = Math.round((tv.getLineCount() * (tv.getLineHeight() + tv.getLineSpacingExtra()) *
                    tv.getLineSpacingMultiplier())) + tv.getCompoundPaddingTop() + tv.getCompoundPaddingBottom();
} else {
    totalHeight = tv.getLineCount() * tv.getLineHeight() + tv.getCompoundPaddingTop() + tv.getCompoundPaddingBottom();
}
于 2015-04-30T13:45:12.613 回答
0

您可以按照以下步骤执行此操作

计算编辑文本中的行数 从这里获得帮助

之后计算单行的高度(包括顶部填充)然后简单地乘以该数字以获得editText内文本的实际高度

于 2012-12-05T08:01:37.640 回答
0

我打电话就够了EditText.getLayout().getHeight();

我刚刚调试了一个我也需要这个功能的应用程序:

        int contentHeight = view.getTextArea().getLayout().getHeight();
        int visibleAreaHeight = view.getTextArea().getHeight();

这些值为:

contentHeight = 7531
visibleAreaHeight = 1408
于 2019-07-16T05:42:14.983 回答