我正在设置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();
请帮我解决可能的问题???
答案 0 :(得分: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>
答案 1 :(得分:0)
尝试在布局和渲染完成后获取基线。那肯定是在onCreate(...)之后,例如。