2011-08-20 12 views
5

मैं एंड्रॉइड के स्पिनर ड्रॉबल्स (spinner_black_16, spinner_black_20, spinner_black_48, या spinner_black_76) में से एक का उपयोग करने की कोशिश कर रहा हूं जैसा कि this page पर प्रदर्शित किया गया है। मेरी परियोजना एसडीके 2.1 का उपयोग कर रही है, इसलिए मैंने इसे 2.2 तक अपडेट किया क्योंकि वह पृष्ठ राज्य एसडीके संस्करण है जहां इन्हें शामिल किया गया है। दुर्भाग्य से, android.R.drawable.spinner_black_xx में से कोई भी परिभाषित नहीं किया गया है।एंड्रॉइड स्पिनर को खींचने योग्य नहीं कर सकता?

क्या ये drawables डेवलपर उपयोग के लिए उपलब्ध नहीं हैं? केवल अन्य तरह से मैं लग पहुंचने के लिए नीचे जटिल विधि के माध्यम से उन्हें है सक्षम होने के लिए:

final Drawable spinner = new ProgressBar(context).getIndeterminateDrawable(); 

दुर्भाग्य से, कि मुझे सफेद स्पिनर, नहीं काले एक प्रदान करता है।

+1

तथ्य नहीं कर सकते कि मैं उन स्पिनरों का उपयोग न एक सलाह (android.R.drawable.spinner_black _... द्वारा पहुंचने की कोशिश की) के बावजूद: मैं सुझाव है कि आप एंड्रॉयड के मूल शैलियों का प्रयोग नहीं करते। सरल कारण के लिए, कि वे किसी भी समय गायब हो सकते हैं/बदल सकते हैं। – Ready4Android

+0

@ Ready4Android - आप सही हैं। यदि आप उत्तर के रूप में पोस्ट करते हैं, तो मैं सही के रूप में चिह्नित करूंगा। –

+2

आप ड्रॉबल्स लेने और उन्हें अपने प्रोजेक्ट में आयात करने के लिए एंड्रॉइड एसडीके फ़ोल्डरों से गुज़रने का प्रयास भी कर सकते हैं। आप उन्हें /प्लेटफ़ॉर्म/एंड्रॉइड-एक्सएक्स/डेटा/Res – Apperside

उत्तर

1

उन ड्रॉबल्स तक पहुंचने का सबसे अच्छा तरीका है उन्हें अपनी परियोजना में अपनी एसडीके निर्देशिका से कॉपी करना और फिर उन्हें किसी अन्य संसाधन की तरह एक्सेस करना।

ड्रॉबल्स $ANDROID_SDK_DIR/platforms/android-*/data/res/drawable-*/ में स्थित हैं। आप ओएस के संस्करण को डाउनलोड और चुन सकते हैं जिसे आप ड्रॉबल्स खींचना चाहते हैं। API स्तर 7/ओएस संस्करण 2.1 पूर्ण क्षमता है:

संसाधनों मंच के बीच बदल सकते हैं:

platforms/android-7/data/res/drawable-mdpi/spinner_black_16.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_20.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_48.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_76.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_16.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_20.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_48.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_76.png 

हालांकि यह वर्तमान में, एंड्रॉयड की आधिकारिक "चिह्न डिजाइन दिशानिर्देश" used to explicitly address this situation और नकल की सिफारिश नहीं करता संस्करण, आपको एंड्रॉइड प्लेटफार्म संसाधन आईडी (यानी android.R.drawable के तहत स्टेटस बार आइकन) का उपयोग करके अंतर्निहित आइकनों का संदर्भ नहीं देना चाहिए। यदि आप किसी भी आइकन या अन्य आंतरिक ड्रॉबल संसाधनों का उपयोग करना चाहते हैं, तो आपको अपने एप्लिकेशन संसाधनों में उन आइकनों या ड्रॉबल्स की स्थानीय प्रतिलिपि संग्रहित करनी चाहिए, फिर स्थानीय एप्लिकेशन को अपने एप्लिकेशन कोड से संदर्भित करना चाहिए। इस तरह, आप अपने आइकनों की उपस्थिति पर नियंत्रण बनाए रख सकते हैं, भले ही सिस्टम की प्रति बदल जाए।

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