我有这个布局:
<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文档中看到它。