2012-04-20 44 views
13

http://dl.dropbox.com/u/24856/Screenshots/android/cutoff.png的TextView切斷了一封信,機器人

這是從我的Android的屏幕截圖。該文本是「asd」。但是「d」略有切斷。這裏是相關的看法:

 <TextView 
      android:id="@+id/stuff" 
      android:padding="2dp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_below="@+id/other_stuff" 
      android:layout_marginTop="33dp" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textStyle="italic" /> 

任何想法是什麼造成這種情況?

+0

將所有xml文件粘貼到這裏,而不僅僅是textview。 – 2012-04-20 09:19:31

+0

你嘗試刪除填充? (如果它的工作只是將其改爲保證金) – Joe 2012-04-20 09:41:25

回答

15

沒有一個提到的建議的工作,結束了它的最後一個字符斜體

+3

對於後代,我會記下我的經驗。這發生在多個設備上的斜體字體(甚至達到Jellybean)。改變填充屬性什麼都不做。 (1)將固定寬度設置得比需要的寬;(2)以編程方式在末尾添加空格,如下所示:tv.setText(tv.getText()+「」); – 2012-11-27 15:27:35

+0

對於仍在爲此苦苦掙扎的人,我創建了一個用多行解決這個問題的通用方法。 https://stackoverflow.com/a/44218468/4420543 – andras 2017-05-27 15:56:36

0

可能是填充,嘗試設置,爲0dp

也還有什麼佈局?

0

您可以使用。

android:layout_width="fill_parent" 

android:layout_width="wrap_content" 
0

istead我懷疑,如果你沒有使用斜體字就不會發生問題。我會先測試一下,如果使用非斜體文本正確渲染它,那麼它看起來像一個渲染問題,這將需要解決TextView中的額外填充以允許斜體字母的空間。

0

這裏的問題是,斜體屬性。你必須爲你的textview設置一個特定的寬度。

4

我設置的TextView的寬度FILL_PARENT而不是WRAP_CONTENT固定它後面添加一個空格哈克解決方案...

0

你總是可以創建使用例如這種字體自定義TextView的(原因其實這是斜體型問題):

Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-LightItalic.ttf"); 
setTypeface(tf); 

更多細節here

1

這是我的解決方案: 設置textview和measure的格式。之後,將1像素的textview設置寬度添加到測量的寬度。

TextView textView = new TextView(this); 
    textView.setText("Text blah blah"); 
    textView.setTypeface(typeface, Typeface.BOLD_ITALIC) 
    textView.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED); 
    textView.setLayoutParams(new LayoutParams(textView.getMeasuredWidth() + 1, LayoutParams.WRAP_CONTENT)); 

爲我工作。希望這些幫助。

5

好吧,這很奇怪,但我從android:maxLines="1"更改爲android:singleLine="true",現在的文字沒有被切斷。

+0

*注意:android:singleLine已棄用 – 2017-03-09 17:29:01

+0

我知道'android:singleLine'已被棄用,但在某些情況下,使用'android:maxLines =「1」'將會導致文本被切斷。這顯然是一個錯誤。 – toobsco42 2017-03-09 17:37:47