我有一些文本将放在 TextView
中。我使用 setText()
做到了这一点。
现在我需要找到文本在 TextView
中占据的行数或高度。我尝试使用 getHeight()
,但它始终返回 0。
有没有办法获取 TextView
中文本的高度?
最佳答案
因为这个大小只有在布局完成后才知道,一种方法是创建一个自定义 TextView 并使用 onSizeChanged 方法。另一种方式是这样的:
final TextView tv = (TextView) findViewById(R.id.myTextView);
ViewTreeObserver vto = tv.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Toast.makeText(MyActivity.this, tv.getWidth() + " x " + tv.getHeight(), Toast.LENGTH_LONG).show();
tv.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
我在这里找到的这段代码:How to retrieve the dimensions of a view?
关于java - 获取 TextView 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912687/