2012-10-25 17 views
10

लपेटता नहीं है मैंने हाल ही में अपने एंड्रॉइड ऐप में होलो थीम को लागू किया है। ऐसा करने के बाद, मेरे पास कोई स्पिनर है, जहां ड्रॉप डाउन आइटम कई लाइनें लंबी है, टेक्स्ट को कई पंक्तियों में लपेट नहीं देगा। प्रत्येक ड्रॉप डाउन आइटम को एक पंक्ति पर रखा जाता है और एक निश्चित लंबाई तक छोटा कर दिया जाता है।एंड्रॉइड होलो थीम एकाधिक लाइन स्पिनर ड्रॉपडाउन आइटम

यहाँ स्पिनर

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
style="?android:attr/spinnerDropDownItemStyle" 
android:singleLine="false" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:ellipsize="none" /> 

इस ICS और होलो विषय से पहले एंड्रॉयड के पुराने संस्करणों पर काम करता है के लिए संसाधन ड्रॉप डाउन के लिए मेरे एक्सएमएल है।

क्या किसी और को इस समस्या का सामना करना पड़ा है?

+0

इस के लिए कोई समाधान मिला? –

+0

मुझे एक ही समस्या है। मेरे पास संस्करण 4.0.4 को छोड़कर मल्टीलाइन स्पिनर हैं। निश्चित रूप से इस बग के लिए एक समाधान मिलना चाहेंगे। –

+0

यह उत्तर देखें: http://stackoverflow.com/questions/14139106/spinner-does-not-wrap-text-is-this-an-android-bug/14392369#14392369 –

उत्तर

0

के रूप में मैं में कहा था: Spinner does not wrap text -- is this an Android bug?

मुझे लगता है कि एंड्रॉयड पर एक बग है। आप इसे आजमा सकते हैं। टेक्स्ट से रिक्त स्थान हटाएं और फिर प्रदर्शित करें कि यह ठीक काम करेगा। यदि टेक्स्टव्यू की लंबाई स्ट्रिंग के < है, तो यह अंतरिक्ष के बाद सभी वर्णों को अनदेखा करती है। एक के लिए काम के आसपास आप इस कोशिश कर सकते:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/sample_text" 
style="?android:attr/spinnerDropDownItemStyle" 
android:singleLine="false" 
android:layout_width="match_parent" 
android:layout_height="?android:attr/listPreferredItemHeight" 
android:ellipsize="marquee" /> 

और इस लेआउट से इसे बनाने के लिए जब आप स्पिनर पैदा कर रहे:

नमूना कोड के साथ नामित किया गया multiline_spinner_dropdown_item.xml रेस/लेआउट फ़ोल्डर में एक फ़ाइल जोड़ने ।

कुछ की तरह:

ArrayAdapter.createFromResource(this, items, R.layout.multiline_spinner_dropdown_item); 

असल में, परियोजना में android.R.layout.simple_spinner_dropdown_item लेआउट कॉपी और CheckedTextView में गलत पर singleLine विशेषता की स्थापना द्वारा लेआउट बदल सकते हैं।

संबंधित मुद्दे