我正在使用如下的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”,高度为两行。
答案 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();
这可能对你有帮助..