2011-03-30 25 views
5

मैंने अपनी खुद की कस्टम वरीयता वस्तुओं को बनाया है जो वरीयता बढ़ाते हैं। मैंने केवल उन्हें बनाया है क्योंकि इन कस्टम डेटा प्रकारों के लिए कोई प्राथमिकता नहीं है।कस्टम वरीयता में एंड्रॉइड वरीयता क्षैतिज विभक्त?

सब कुछ काम कर रहा है, लेकिन मेरी कस्टम वरीयताओं में एक ही उपस्थिति नहीं है क्योंकि वे क्षैतिज विभक्त हैं जो सिस्टम वरीयता वस्तुओं के पास हैं। मैंने कोड को देखा है जो क्षैतिज विभक्त बना रहा है, लेकिन मुझे नहीं पता कि यह कहां किया जाता है।

निर्मित विभाजक केवल एक पतली बार नहीं है। इसके लिए एक ढाल है। मुझे लगता है कि यह लेआउट फ़ाइल में हो सकता है, लेकिन मुझे सिस्टम वरीयताओं के लिए लेआउट नहीं मिल रहे हैं।

किसी को भी यह पता चला कि यह कैसे लागू किया गया है?

उत्तर

3

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

कैसे
Preferences सभी व्यक्तिगत वरीयताओं को आबाद करने के लिए एक ListView उपयोग करता है। इसका मतलब है कि आप से .setDivider() विधि का उपयोग कर विभाजक को बदल सकते हैं। PreferenceActivity में आपके लिए पहले से ही getListView() विधि होगी। हालांकि PreferenceFragments के लिए इसे खोजने के लिए बस android.R.id.list आईडी का उपयोग करें।

यदि आप कोड के माध्यम से विभाजक को बदलना नहीं चाहते हैं, तो आप हमेशा listDivider विशेषता को ओवरराइड करके थीम का उपयोग कर सकते हैं। उदाहरण के लिए:

<item name="android:listDivider">@drawable/custom_divider</item> 

ध्यान दें, आप अपने ऐप्लिकेशन में हर ListView के लिए विभक्त बदल जाएगा।

कहाँ
listDivider इस्तेमाल किया drawable क्या एंड्रॉयड विषय सक्रिय है पर निर्भर करता है। आपने इस स्थान पर स्थापित Android SDK में इन सभी छवियों को मिल जाएगा:
[एंड्रॉयड एसडीके]/प्लेटफार्मों/[एपीआई]/डेटा/res/drawable- [डीपीआई]/

बस के लिए एक खोज करते हैं `* divider_horizontal *`, और आप कुछ ही चालू कर देंगे। वे नौ-पैच वाले हैं और उनमें से सभी ठोस रंग नहीं हैं।

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