2012-07-17 25 views
8

的getTextSize我利用一類AutoResizeTextView我發現這裏:https://stackoverflow.com/a/5535672/371778Android的豆形軟糖不認識AttriubteSet

這直至豆形軟糖偉大的工作。看起來,JellyBean不能識別textView AttributeSet中的getTextSize(),因爲它返回0.0。

我試過製作一個自定義的xml屬性,但我利用樣式來使用AutoResizeTextView類,並且不能在styles.xml中包含一個自定義名稱空間。

任何想法讓JellyBean認識這種方法?

回答

11

我有同樣的問題,我只是一個補丁解決了它在AutoResizeTextView類

/** 
* When text changes, set the force resize flag to true and reset the text size. 
*/ 
@Override 
protected void onTextChanged(final CharSequence text, final int start, final int before, final int after) 
{ 
    mNeedsResize = true; 
    mTextSize = getTextSize(); // I ADDED THIS 
    // Since this view may be reused, it is good to reset the text size 
    resetTextSize(); 
} 

現在,它可以在2.3,4.0和4.1的一樣。 p.f.

+0

只是試過這個,它解決了問題! – pandre 2012-07-21 16:17:40

+0

將MIN_TEXT_SIZE減少到10爲我工作。 //此文本視圖的最小文本大小 public static final float MIN_TEXT_SIZE = 10; – 2016-02-26 12:19:06

0

我曾看到有關Streaming的問題。 當我試圖去正反面時,在流媒體視頻中,我看到了重新開始。

4

上面的代碼工作,但AutoResizeTextView將被重用時會出現問題。例如在ListView中。縮放列表中的一個條目後,下面的一些條目也可能會不必要地變小。在這種情況下,onTextChanged方法應該看起來像:

@Override 
protected void onTextChanged(final CharSequence text, final int start, final int before, final int after) 
{ 
    needsResize = true; 
    if (before == after) 
     textSize = getTextSize(); 
    else 
     resetTextSize(); // Since this view may be reused, it is good to reset the text size  
}