1

我正在设置我的 TextView 的自定义 trur 类型字体并设置文本大小;然后使用 setText() 方法将文本设置为 TextView。它显示完美的文字。但是当我尝试获取此 TextView 的基线时,它显示 1 或 -1。为什么??

我正在这样做;

TextView tv;
tv.setTypeface(Typeface.createFromAsset(getAssets(),"customFont.ttf"));
tv.setTextSize(20);
tv.setText("My name is Tahir");

tv.getBaseline(); 
//this returns -1. (if i set Height and width of tv suppose 100 the getBaseline() retruns 1)
tv.getTop();
tv.getBottom();

请帮我看看可能是什么问题???

4

2 回答 2

0

尝试在布局和渲染已经发生后获取基线。例如,这肯定是在 onCreate(...) 之后。

于 2012-11-29T14:01:00.983 回答
0

android:baselineAligned无论您在 xml 中使用什么,您是否在线性或相对布局中声明。

例如 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:baselineAligned="true" >

    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/hello"
        android:id="@+id/text1" />

</LinearLayout>
于 2012-02-24T09:41:16.183 回答