2011-10-18 12 views
8

इस विभाजक के साथ एक समस्या की अनदेखी कर रहा है:सेपरेटर गद्दी, यह

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <padding android:left="10dip" android:right="10dip"/> 
    <solid android:color="@color/listSeparator"/> 
    <size android:height="1px" /> 
</shape> 

मैं (सूचीदृश्य घटक के बाईं/सही में एक छोटे से मार्जिन/padding बनाने के लिए उस पर एक रिश्तेदार का उपयोग कर कोशिश कर रहा हूँ, ListView ऑब्जेक्ट नहीं)। फिर जब मैं इसे इस तरह से रखने की कोशिश करता हूं ...

getListView().setDivider(getResources().getDrawable(R.drawable.song_separator)); 

... इसे सीधे पूर्ण लेआउट विभाजक डालने पर अनदेखा किया जाता है।

अब मैं समस्या यह है कि क्या पता नहीं है, लेकिन मुझे पता है कि:

  • मैं सभी ListView में एक मार्जिन नहीं डाल सकते हैं, कारण मैं listHeader fill_parent चाहते
  • मैं करने की कोशिश की झूठी सीमा डालें, लेकिन यह अच्छा नहीं लग रहा है जब मैं इसे पृष्ठभूमि रंग बदलता हूं, मुझे एक विभाजक स्थान डालता है।

कोई विचार?

संशोधित

मेरे पिछले आंशिक समाधान एक imageView, माता पिता के नीचे करने के लिए अगले गठबंधन कर देना है। यह आंशिक कारण है जो इसे नीचे रखता है लेकिन मूल विभक्त पर नहीं।

अगर कोई मुझे बता सकता है कि उस छवि दृश्य को विभाजक की सटीक रेखा पर कैसे रखा जाए, तो मैं उसे +50 भी दूंगा।

+0

क्या आप कोड पोस्ट कर सकते हैं जहां आप विभाजक सेट कर सकते हैं? – user370305

+0

जब मैं रंग या खींचने योग्य बदलता हूं, तो मैं इसे अच्छी तरह से डाल रहा हूं, यह चलता है। कोई और कोड शामिल नहीं है। –

+0

एंड्रॉइड: लेआउट xml फ़ाइल –

उत्तर

1

Quiroga इसलिए मेरी पहली शर्त कोड को अलग-अलग लाइनों में विधि कॉल को विभाजित करके अधिक डिबगबल करने के लिए होगी।

ListView lview = getListView(); 
if (lview != null){ 
    Resources res = getResources(); 
    if (res != null) { 
     Drawable dable = res.getDrawable(R.drawable.song_separator); 
     if (dable != null){ 
      lview.setDivider(dable) 
     } 
    } 
} else { 
    //Log in some way that you have a problem. 
} 

मैं जानता हूँ कि यह जटिल से अधिक तरह का दिखता है, लेकिन इस तरह से आपको लगता है कि Drawable पाया जाता है और सही एक है और उसके बाद ठीक से ListView करने के लिए सौंपा सुनिश्चित करें।

एक और चीज जिसे आप कोशिश कर सकते हैं बस एक अलग हो सकता है कि प्लेटफ़ॉर्म विशिष्ट विभाजक अलग हो और देखें कि यह ठीक से काम करता है या नहीं।

Android Source Code it is back online पर अपने हाथों को पाने का प्रयास करें यदि आप इसे अपने जावा प्रोजेक्ट में जोड़ते हैं तो आप प्लेटफ़ॉर्म कक्षाओं में डीबग कर सकते हैं और प्लेटफ़ॉर्म कोड में गहराई से डीबग कर सकते हैं।

तो यह वास्तव में आपकी समस्या का समाधान नहीं है लेकिन शायद यह आपको समाधान खोजने में मदद कर सकता है।

+0

मैंने यह पुष्टि करने के लिए भी अपना कोड आज़माया है कि सूची दृश्य ठीक है और प्राप्त करें स्रोत() भी है लेकिन मुझे समस्या है। मेरा आखिरी समाधान एक छवि दृश्य, चौड़ाई है जो पैडिंग को नीचे गठबंधन करना है। अगर कोई मुझे बता सकता है कि उस छवि दृश्य को विभाजक की सटीक रेखा पर कैसे रखा जाए, तो मैं उसे +50 भी दूंगा। –

+0

@ एक्विरोगा और यह अंतिम सूची दृश्य तत्व के लिए भी काम नहीं करता है यदि आप केवल मध्य में दिखाए गए डिवाइडर चाहते हैं। छोटे विवरण लेकिन अभी भी उल्लेखनीय है। – dcow

1

एक अलग फाइल और के रूप में यह उपयोग में शीर्ष लेख रखो:

सार्वजनिक वर्ग AuditActivity ListActivity फैली {

Budget budget; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.audit); 
    ListView lv = getListView(); 
    LayoutInflater infalter = getLayoutInflater(); 
    ViewGroup header = (ViewGroup) infalter.inflate(R.layout.header, lv, false); 
    lv.addHeaderView(header); 
    budget = new Budget(this); 
    /* 
    try { 
     test = budget.getTransactions(); 
     showEvents(test); 
    } finally { 

    } 
    */ 

// switchTabSpecial(); }

इस लिंक का पालन करें ....... इसमें विस्तृत जानकारी है, रैखिक वन के बजाय रिलेवेटिवआउट का उपयोग करें, मुझे आशा है कि यह आपकी मदद करेगा। Android: Adding static header to the top of a ListActivity

+0

मेरे पास सूची हैडर एक और लेआउट में अलग है। यह अजीब कारण मार्जिन हेडर को प्रभावित करता है, क्योंकि शीर्षलेख सूची में बढ़ जाता है (जैसे आप मुझे दिखाते हैं)। –

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