如何找出Android textview中有多少行文本

时间:2013-11-11 13:37:38

标签: android textview tablelayout tablerow

我正在使用如下的Tablelayout:

<TableLayout android:layout_height="wrap_content"
android:layout_width="fill_parent" android:stretchColumns="1" >

<TableRow android:layout_marginTop="2dp">
<TextView android:text="Email Id" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_marginBottom="5dp"
android:layout_marginLeft="3dp" android:textStyle="bold"
android:textSize="16sp" android:textColor="#000000"
android:layout_weight="2" 
android:background="#e0f7fd"/>

<TextView  android:text="abcedfgh.jklmn@gmail.com"
android:layout_width="0dp" android:layout_height="wrap_content"
android:textColor="#000000" android:layout_marginBottom="5dp"
android:layout_weight="2" android:textSize="15sp"
android:layout_marginLeft="3dp"/>
</TableRow>

</TableLayout>

文字“abcedfgh.jklmn@gmail.com”分为多行。我必须根据“abcedfgh.jklmn@gmail.com”文字封面的行数将背景颜色设置为textview“Email Id”。

例如: 如果文本“abcedfgh.jklmn@gmail.com”有两行,我必须将背景颜色设置为textview“Email Id”,高度为两行。

2 个答案:

答案 0 :(得分:2)

可以选择查找TextView

的行数
int lineCount = textView.getLineCount(); 

说出来:

使用Runnable线程来避免异常。

YourTextView.post(new Runnable() {
    @Override
    public void run() {
        int totalLine    = YourTextView.getLineCount();
    }
});

答案 1 :(得分:0)

TextView text = (TextView)findViewByID(R.id.text);
int lineCount = text.getLineCount();

这可能对你有帮助..