2010-07-14 7 views
36

में बाल डिवाइडर छुपाएं मुझे विस्तारणीय लिस्ट व्यू से पूरी तरह से डिवाइडर को हटाने की आवश्यकता है। मूल वस्तुओं के लिए यह एक setDividerHeight विधि है जहां मैं शून्य मान पास कर सकता हूं। लेकिन बाल विभाजक के लिए कोई समान विधि नहीं है। क्या इसे छिपाने का कोई तरीका है?एंड्रॉइड: ExpandableListView

उत्तर

44

यदि आप ExpandableListView सेसे विभाजक को पूरी तरह से निकालना चाहते हैं तो माता-पिता और शिशु वस्तुओं दोनों के लिए ठीक है। चाइल्ड डिवाइडर सामान्य विभक्त के समान ऊंचाई का उपयोग करके खींचा जाएगा या setDividerHeight() द्वारा सेट किया जाएगा।

और मैं एक काम के आसपास हमें एक दूसरे को एक छिपाने के लिए और सामने लाने के लिए के लिए उपयोग कर रहा हूँ, बस नीचे की तरह विभक्त और एक ही रंग में आइटम सेट:

ExpandableListView expView = getExpandableListView(); 
expView.setGroupIndicator(null); 
expView.setChildIndicator(null); 
expView.setChildDivider(getResources().getDrawable(R.color.greywhite));   
expView.setDivider(getResources().getDrawable(R.color.white)); 
expView.setDividerHeight(2); 

setDividerHeightsetChildDivider नीचे और setDivider, या चाहिए ऊंचाई 0.

अधिक जवाब के लिए प्रतीक्षा की जा रही हो जाएगा ...

+0

बहुत समय बचाया। – Ganesh

+0

बेशक, यदि पैडिंग के लिए रिक्ति रखना परेशान था, तो आप केवल DividerHeight को 0 पर सेट कर सकते हैं, और अपने कस्टम एडाप्टर में उपयोग किए गए सेल में विभाजक शामिल कर सकते हैं। निचले आइटम वाले विभाजक को रोकने के लिए, अगर आप इंडेक्स == getGroupCount() - 1 && index2 == getChildCount() - 1 – csga5000

24

को छिपाने के लिए बच्चे को विभक्त सेट यह पारदर्शी # करने के लिए रंग 00000000

अपने color.xml फ़ाइल

<color name="transparent">#00000000</color> 

में पारदर्शी को परिभाषित करने और उसके बाद बच्चे विभक्त

listView.setChildDivider(getResources().getDrawable(R.color.transparent)) 

या लेआउट xml फ़ाइल

<ExpandableListView 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:childDivider="#00000000"/> 
+7

विभाजक को पारदर्शी रंग में सेट करना वास्तव में इसे हटा नहीं रहा है तो आप विभाजक को छुपा सकते हैं। – Sulby

+7

वैकल्पिक रूप से आप 'एंड्रॉइड: childDivider = "@ एंड्रॉइड का उपयोग कर सकते हैं: रंग/पारदर्शी" ' – cassioso

+0

यह केवल तभी काम करता है जब आपकी सूची के पीछे की पृष्ठभूमि आपकी सूची तत्वों के समान रंग हो। यदि आपके पास पृष्ठभूमि के लिए पृष्ठभूमि और सफेद रंग के लिए धोने का रंग है तो यह काम नहीं करेगा। –

0

में की विभक्त ऊंचाई सेट सेट अपने विस्तार योग्य लिस्ट व्यू 0

//setDividerHeight(0) 

और फिर अपने headerView एक्सएमएल

<View 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:layout_gravity="bottom" 
     android:background="@android:color/darker_gray" 
     /> 
1

में तल पर एक दृश्य जोड़ने आप केवल बच्चे विभक्त दूर करने के लिए चाहते हैं, आप बच्चे पृष्ठभूमि रंग के रूप में एक ही रंग के साथ एक drawable बना सकते हैं। फिर इसे अपने बच्चे के विभाजक के रूप में सेट करें।

ShapeDrawable sd1 = new ShapeDrawable(new RectShape()); sd1.getPaint().setColor(YOUR CHILD ITEM BACKGROUND COLOR); mExpListView.setChildDivider(sd1);

0

आप विशेषता

<ExpandableListView 
    android:id="@+id/interestlvExp" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:divider="@null"> 
</ExpandableListView> 

उपयोग कर सकते हैं लेकिन यह रूप में अच्छी तरह समूह सूची विभक्त निकाल देंगे।