java - 获取 TextView 的高度

标签 java android textview

我有一些文本将放在 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/

相关文章:

java - 用于可序列化的 Spring AOP 切入点

java - 为什么我可以存储实现接口(interface) "in"该接口(interface)的类的实例而不丢失信息?

java - 在Android设备中使用GCC工具链

android - MP3Extractor(34) : Unable to resync. 流结束信号

android - 如何从 Android strings.xml 中的 anchor 链接中删除格式

android - 如何识别textview到达屏幕底部?

java - Android 照片应用程序错误

java - Spring JPA 通过从 POST 请求正文获取的列和值查询数据库

android - 更改 fragment 的外观

android - TextView 背景颜色中的淡入淡出过渡