2011-02-24 15 views
6

मैं एक सूची दृश्य (और थोड़ा कम जटिल पाद लेख) में एक जटिल/गैर-तुच्छ शीर्षलेख जोड़ने की कोशिश कर रहा हूं जिसे शेष सामग्री के साथ स्क्रॉल करने की आवश्यकता है।जटिल सूची के साथ Android ListView

हैडर

  • की बोल्ड पाठ, काले पारदर्शी पृष्ठभूमि और गोल कोनों
  • सामान्य पाठ, काले पारदर्शी पृष्ठभूमि
  • एक imageView
  • एक क्लिक करने योग्य बटन के साथ एक TextView के साथ एक TextView (होते हैं वास्तव में ऑनक्लिक के साथ एक छवि दृश्य) और एक विभक्त

मैं addHead से परिचित हूं erView, लेकिन अगर मैं एक जटिल दृश्य जोड़ने की कोशिश करता हूं (जिसमें कई बच्चों के साथ लिनियरलाइट शामिल है), तो मैं हेडर के रूप में सूचीदृश्य में जटिल शीर्षलेख का पहला बच्चा देखता हूं।

इसके अलावा, डिज़ाइन तोड़ता है (क्योंकि हेडर पारदर्शी रूप से स्टाइल किया जा सकता है, सूची दृश्य स्वयं नहीं है। शायद इसे सूची दृश्य में और अधिक स्टाइल जोड़कर हल किया जा सकता है और इसकी प्रविष्टियां (जो पारदर्शी नहीं होनी चाहिए) लेकिन मैं छाप मैं बस listviews सीमा यहाँ तक पहुँचने कर रहा हूँ है।

यह किया जा सकता है? किसी को भी किसी भी अनुप्रयोग (या बेहतर, कोड उदाहरण) एक ऐसी ही जटिल हैडर है? अन्य सभी उदाहरण है कि मैंने पता है मुश्किल खोजने के लिए सक्षम हैं: बटन, टेक्स्टव्यू या छवियां (ऑनलाइन और एसओ) शायद ही कभी दिलचस्प स्टाइल के साथ।

+0

अपना लेआउट xml और कोड पोस्ट करें। –

+0

मैं देखता हूं कि मैं एक न्यूनतम उदाहरण पुन: पेश कर सकता हूं, लेकिन इस समय पोस्ट करने के लिए मेरे पास कुछ भी उपयोगी नहीं है, इसलिए मेरा मुख्य प्रश्न: क्या यह बिल्कुल किया जा सकता है। अगर कोई नमूने की पुष्टि/प्रदान कर सकता है तो मैं इसे काम करने में अधिक समय निवेश कर सकता हूं। मुझे लगता है कि यह एक मृत अंत है, हालांकि। –

उत्तर

5

मैं मोटे तौर पर इस प्रकार खरोंच से मेरी स्क्रॉल सूचीदृश्य reimplement करने का प्रयास किया,:

  • एक पृष्ठभूमि छवि और एक एकल ListView, एक 20dip मार्जिन और कुछ विशिष्ट स्टाइल के साथ साथ एक main.xml:

    <item name="android:cacheColorHint">#00000000</item> 
    <item name="android:scrollbars">@null</item> 
    <item name="android:background">@android:color/transparent</item> 
    
  • एक headerlayout.xml, एक रेखीय लेआउट (ऊर्ध्वाधर) युक्त एक TextView, imageView और एक अन्य TextView हैं। पहला टेक्स्ट व्यू गोलाकार टॉपकॉर्नर्स के साथ स्टाइल किया गया है, दोनों टेक्स्टव्यू पारदर्शी स्टाइल हैं, और छवि पर एक क्लिकलिस्टर हैं।

  • (एक इसी तरह स्टाइल पाद लेख)
  • एक ठोस सफेद पृष्ठभूमि के साथ प्रत्येक ListItem के लिए एक कस्टम प्रवेश।

शीर्षलेख/पादलेख मोटे तौर पर जोड़ रहे हैं के रूप में इस प्रकार है इस बात का

ListView list = (ListView) findViewById(R.id.list); 
View header1 = getLayoutInflater().inflate(R.layout.listheader, null, false); 
View footer = getLayoutInflater().inflate(R.layout.listfooter, null, false); 
ImageView image = (ImageView) header1.findViewById(R.id.image); 

list.addHeaderView(header1, null, false); 
list.addFooterView(footer, null, false); 
list.setAdapter(new MenuAdapter()); 

कोई भी वास्तव में वास्तव में खास है। यह ज्यादातर सही क्रम में चीजों को करने का विषय है, छीन लिया गया है और ठीक से स्टाइल किया गया है।

0

मेरा सुझाव यह होगा कि आप इस अत्यधिक कॉम के लिए कस्टम व्यू बनाएं चित्रित सूची देखें आइटम। स्पष्ट रूप से यह है कि एंड्रॉइड देवताओं ने Google आईओ पर भी सुझाव दिया है। यदि आप इसे कस्टम व्यू में कर सकते हैं, तो आपकी सभी समस्याओं का हल हो जाएगा।

+0

वास्तव में मेरा वर्तमान वर्कअराउंड है: स्क्रॉलव्यू में व्यक्तिगत प्रविष्टियों के साथ एक बहुत बड़ा वर्टिकल लीनियरआउट। लेकिन मुझे यकीन नहीं है कि यह 100 प्रविष्टियों (शायद 250 में सबसे अधिक) के साथ काम करेगा, लिस्ट व्यू में आपकी स्क्रॉलिंग –

+0

ओप्स के आधार पर मांग पर प्रविष्टियां बनाने के अनुकूलन हैं, अगर मैंने इसे सही तरीके से व्यक्त नहीं किया है, लेकिन आपको बस लागू करने की आवश्यकता है कस्टमाइज्ड लिस्ट व्यू आइटम, सूची में ही नहीं। – the100rabh

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