2011-08-02 11 views
9

मेरे पास एक सूची दृश्य है जिसमें कोई भी आइटम शामिल हो सकता है। जब यह स्क्रीन की पूरी ऊंचाई से कम उपयोग करता है तो मैं एक पाद लेख दिखाना चाहता हूं जो शेष स्थान को भरता है।शेष स्थान को भरने के लिए मैं सूची दृश्य खिंचाव के पाद लेख कैसे बना सकता हूं?

पाद लेख सिर्फ एक टाइल वाली छवि है। मैं इसे केवल सूची दृश्य या उसके कंटेनर की पृष्ठभूमि के रूप में सेट नहीं कर सकता, क्योंकि सूची आइटम आंशिक रूप से पारदर्शी हैं और यह मुख्य पृष्ठभूमि होना चाहिए और उनके माध्यम से दिखाई देने वाला पाद लेख नहीं होना चाहिए।

पाद लेख दृश्य जोड़ना ठीक है अगर फूटर एक निश्चित ऊंचाई का है, लेकिन यदि निश्चित ऊंचाई शेष ऊंचाई से अधिक है तो ListView अनावश्यक रूप से स्क्रॉल करता है।

पाद लेख देखने के लिए fill_parent का कोई प्रभाव नहीं पड़ता है, यह केवल अदृश्य है।

पैरेंट दृश्य को पैरेंट लेआउट में रखना कोई प्रभाव नहीं पड़ता है, क्योंकि ListView पूरी ऊंचाई को भरने लगता है जब तक कि इसे एक निश्चित लेआउट_हेइट मान नहीं दिया जाता है।

क्या यह संभव है?

+0

उत्तर देने वालों के लिए क्षमाप्रार्थी, मैंने यह कहने के लिए उपेक्षित किया कि ListView एक सूचीफ्रेममेंट के अंदर है, जो कि पैरेंट लेआउट समाधानों का काम नहीं कर रहा है। मैंने इसे सामान्य टुकड़ा बनाने के लिए बदल दिया और वजन घटाने का उपयोग करके सूची दृश्य को स्पष्ट रूप से स्थापित किया। आपके प्रयासों के लिए धन्यवाद! – Ouchdroid

+0

हाय, मैं आपके समाधान के साथ उत्सुक हूं .. आपने किस लेआउट में वजन रखा था? सूचीदृश्य या सूची आइटम दृश्य? – akhyar

उत्तर

1

एक के लिए लेआउट वजन स्थापित करने का प्रयास करें, या मर्ज देखने की कोशिश कर बाहर की जाँच: http://android-developers.blogspot.com/2009/03/android-layout-tricks-3-optimize-by.html

+0

ListView पूरे माता-पिता पर 1 का भार रखने वाले दूसरे तत्व के साथ भी कब्जा कर लेता है। मैं फ़ूटर को ListView में विलय नहीं कर सकता (एडाप्टर व्यू addView का समर्थन नहीं करता है) और इसे माता-पिता में विलय करने के समान प्रभाव पड़ता है सीधे माता-पिता में (fill_parent के साथ पूरी जगह भरता है, अन्यथा नहीं दिखाता है।) – Ouchdroid

+0

क्या आप इस सूचीदृश्य को गतिशील रूप से बना रहे हैं, या इसे लेआउट से फुला रहे हैं? – Noah

+0

मैं इसे गतिशील रूप से बना रहा हूं। – Ouchdroid

1

सेट एक और लेआउट के अंदर ListView रखो स्क्रीन को भरने के विस्तार।

ए लाइनरलाउट इसके लिए सबसे अच्छा काम करता है।

कुछ इस तरह:

<LinearLayout android:layout_height="match_parent" 
      android:layout_width="match_parent" > 
    <ListView android:layout_height="match_parent" 
       android:layout_width="match_parent" > 
     ... 
    </ListView> 
</LinearLayout> 

यह स्क्रीन के नीचे करने के लिए LinearLayout भरना चाहिए। आप इस व्यवहार का उपयोग यह नियंत्रित करने के लिए कर सकते हैं कि आपका दृश्य कैसा दिखता है।

आशा है कि इससे मदद मिलती है! अगर यह काम करता है

+0

एक ऐसा दृश्य डालने जो स्क्रॉल करता है, किसी अन्य दृश्य के अंदर स्क्रॉल करता है, यानी 'स्क्रॉलव्यू' के अंदर 'ListView' एक अच्छा विचार नहीं है। – Squonk

+0

अच्छा बिंदु, मैंने इसे प्रतिबिंबित करने के लिए उत्तर बदल दिया। – Codeman

+0

मैंने यह कोशिश की है। सूची दृश्य में सभी उपलब्ध स्थान पर कब्जा होता है यदि मैं इसे एक निश्चित ऊंचाई नहीं देता हूं, यहां तक ​​कि वजन का उपयोग भी करता हूं (जो समझ में आता है, इसलिए मैं फ़ूटर दृष्टिकोण को क्यों काम करने की कोशिश कर रहा हूं।) – Ouchdroid

0

इस कोशिश करो और मुझे बताओ:

  • एक माता पिता में दो लेआउट (उदाहरण के लिए: रैखिक लेआउट) रखो
  • ListView के लिए: android:layout_hight="wrap_content"
  • पाद लेख के लिए: android:layout_hight="fill_parent"
+0

सूची दृश्य हमेशा फिक्स्ड/पैरेंट का उपयोग करता है ऊंचाई निर्दिष्ट नहीं है, wrap_content का कोई प्रभाव नहीं है (जो समझ में आता है, इसलिए मैं पाद लेख दृष्टिकोण क्यों बनाने की कोशिश कर रहा हूं।) – Ouchdroid

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