2013-11-11 2 views
0

Я использую TableLayout, как показано ниже:Как узнать, сколько строк текста есть в Android TextView

<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="[email protected]" 
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> 

Текст «[email protected]» приходит в несколько строк. Мне нужно установить цвет фона в текстовое окно «Идентификатор электронной почты» в зависимости от количества строк «[email protected]».

Например: Если текст "[email protected]" представлен в двух строках, я должен установить цвет фона в текстовое изображение "Email Id" высотой две строки.

+0

не может непосредственно установить цвет к TextView? – RobinHood

+0

@ user2740599 Примите или прокомментируйте, если ответ вам поможет. –

ответ

1

Существует возможность узнать количество строк в TextView

int lineCount = textView.getLineCount(); 

Say напр:

Используйте Runnable нить, чтобы избежать исключения.

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

Спасибо за ответ. Как установить фон в текстовое представление «Идентификатор электронной почты». Цвет текста в тексте «Email Id» должен охватывать количество строк «android: text =« [email protected] »« Текстовые обложки? – user2740599

+0

Собираетесь ли вы установить разные цвета на основе количества строк? –

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

Это может помочь вам ..