2012-07-17 12 views
8

की getTextSize को स्वीकार नहीं मैं एक वर्ग का उपयोग कर रहा हूँ AutoResizeTextView मैं यहां पाया JellyBean: https://stackoverflow.com/a/5535672/371778एंड्रॉयड AttriubteSet

यह JellyBean जब तक महान काम किया है। ऐसा लगता है कि जेलीबीन टेक्स्टव्यू एट्रिब्यूटसेट से GetTextSize() को पहचान नहीं लेता है, इसके लिए यह 0.0 लौटाता है।

मैं एक कस्टम एक्सएमएल गुण बनाने की कोशिश की, लेकिन मैं शैलियों का उपयोग 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 में एक ही पर काम करता है में एक फिक्स के साथ इसे हल। पी.एफ.

+0

बस कोशिश की और यह समस्या हल करती है! – pandre

+0

MIN_TEXT_SIZE से 10 को कम करने के लिए मेरे लिए काम किया। इस पाठ को देखने के लिए // न्यूनतम पाठ का आकार सार्वजनिक स्थिर अंतिम नाव MIN_TEXT_SIZE = 10; –

0

मैं स्ट्रीमिंग के बारे में एक मुद्दा नहीं देखा था। एक वीडियो स्ट्रीमिंग जब मैं FWD और BWD जाने की कोशिश की थी, मैं एक पुनः आरंभ देखा था।

4

कोड से ऊपर काम करता है, लेकिन समस्याओं होते हैं जब AutoResizeTextView दोबारा इस्तेमाल किया जाएगा। उदाहरण के लिए ListView में। सूची में एक प्रविष्टि स्केल करने के बाद नीचे दी गई कुछ प्रविष्टियां भी अनावश्यक रूप से छोटी हो सकती हैं। इस मामले मेंTextChanged विधि इस तरह दिखनी चाहिए:

@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  
}