如何以编程方式确定TextView的高度?

时间:2012-12-19 11:50:52

标签: android

我为listview行创建了一个xml。它只有一个Textview。

<?xml version="1.0" encoding="utf-8"?>
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="14sp"
    android:textColor="@color/white"
    android:text="A">
</TextView>

我需要以编程方式确定此textview的高度。 如果我编码textview.getTextSize():这只返回文本的大小。

编辑:

我想在屏幕上呈现之前检索textview的高度。我的意思是,我想夸大这个:

LayoutInflater inflater=LayoutInflater.from(this);
View view=inflater.inflate(R.layout.row, null);
TextView row_textview=((TextView)view);

然后计算“row_textview”实例的高度。

4 个答案:

答案 0 :(得分:4)

你试过吗

textview.getHeight();

  

返回视图的高度。

或者这个

textview.getMaxHeight();

  

此TextView的最大高度以像素表示,如果是,则为-1   最大高度用行数设置,而不是使用或   setLines(int)

答案 1 :(得分:2)

您是否检查了thisthis

txtview.getHeight();

  

返回视图的高度(以像素为单位)。

或者

txtview.getLineHeight();
  

返回一条标准线的高度(以像素为单位)。请注意标记   在文本中可以使单个行更高或更短   比这个高度,布局可能包含额外的第一个或   最后一行填充。

答案 2 :(得分:0)

尝试使用此方法获取textView的高度和宽度 -

 textView.getMeasuredWidth();

 textView.getMeasuredHeight();

答案 3 :(得分:0)

我找不到这个问题的任何答案,所以我不接受到目前为止在这个帖子上提供的任何答案。 由于我在尝试计算textview在屏幕上呈现之前的高度,因此通过阅读xml布局,Android中不支持此功能。在这种情况下,我们必须硬核高度测量值,然后在运行时将此dp测量值转换为像素。 Get the height of a TextView 此链接对于正在搜索答案的其他人非常有用。