设置内容后android获取TextView大小

时间:2012-08-15 21:53:58

标签: android textview

我有这个布局:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="4" >
    <TextView
        android:id="@+id/dataET"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:gravity="center|left"
        android:paddingBottom="4dp"
        android:paddingLeft="4dp"
        android:paddingRight="4dp"
        android:paddingTop="4dp"
        android:text="@string/dataET"
        android:textStyle="bold" />
    <TextView
        android:id="@+id/dataEK"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right|center"
        android:paddingBottom="4dp"
        android:paddingLeft="4dp"
        android:paddingRight="4dp"
        android:paddingTop="4dp" />
    <TextView
        android:id="@+id/dataEJ"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right|center"
        android:paddingBottom="4dp"
        android:paddingLeft="4dp"
        android:paddingRight="4dp"
        android:paddingTop="4dp" />
</LinearLayout>

有时,当我将文本设置为TextView中的任何一个时,此文本大于TextView的空格,因此它会显示在一行以上。 我知道在我可以设置文本之前,我可以检查文本的lengt,然后相应地设置font size。但如果手机处于横向或电视模式,甚至是不同的屏幕尺寸,这可能会导致错误。

我设置文本后是否可以看到TextView大小是否未更改,如果是,请将字体设置为f TextView

类似的东西:

int getTextViewHeigthsize = // Get the size
// set the text in the textview;
do{
    int getTextViewsizeHeigthAltered = // Get the new size
    if (getTextViewsizeHeigthAltered >  getTextViewHeigthsize){
        // Set the font size to be:
        tv.setTextSize(tv.getTextSize()--);
    }
    getTextViewsizeHeigthAltered = // Get the new size
}while (getTextViewsizeHeigthAltered >  getTextViewHeigthsize);

我可以这样做吗? 可能这可以实现,但无法在Android文档中看到它。

0 个答案:

没有答案