2011-02-01 22 views
20

के अनुसार विषय बदलें मैं अपने ऐप को हनीकॉम के साथ आसानी से काम करने के लिए तैयार कर रहा हूं। मेरे पास एंड्रॉइड थीम के संबंध में एक छोटा सौंदर्यशास्त्र प्रश्न है।एंड्रॉइड संस्करण

शहद के लिए यह अनुशंसा की जाती है कि निम्नलिखित विषय का उपयोग किया जाए।

android:theme="@android:style/Theme.Holo.Light" 

पिछले संस्करण में उपयोग किए जाने पर मैं अपना ऐप किसी अन्य थीम का उपयोग कैसे कर सकता हूं?

अग्रिम धन्यवाद

उत्तर

32

संपादित: 3.0 SDK के रिलीज़ संस्करण के लिए अद्यतन किया गया।


ऐसा करने का एक तरीका <uses-sdk android:targetSdkVersion="11"> सेट करना है। आपको इसे अपने <application> परिभाषा के ऊपर भी रखना चाहिए। यह सिस्टम उपलब्ध होने पर होलोग्रफ़िक थीम का उपयोग करने के लिए सिस्टम को बताएगा, और डिफ़ॉल्ट थीम अन्यथा।

ऐसा करने का एक और तरीका है, MyTheme कहें, जो एपीआई स्तर/ओएस संस्करण के आधार पर एक अलग विषय से प्राप्त होता है। आप इसे resource directory qualifiers का उपयोग करके कर सकते हैं।

आपका निर्देशिका संरचना ऐसा दिखाई दे सकता:

res/ 
    values/ 
    styles.xml 
    values-v11/ 
    styles.xml 

res/values/styles.xml की सामग्री कुछ होगा:

<resources> 
    <style name="MyTheme" parent="@android:style/Theme.Light"> 
    ... 
    </style> 
</resources> 

और res/values-v11/styles.xml की सामग्री को होगा कुछ की तरह:

<resources> 
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    ... 
    </style> 
</resources> 

ध्यान दें कि futu में फिर, होलो थीम हमेशा एपीआई स्तर से समझ में नहीं आती है, इसलिए आपको बाद में इस दृष्टिकोण को ट्विक करने की आवश्यकता हो सकती है। आप अन्य निर्देशिका क्वालीफायरों का भी उपयोग कर सकते हैं जैसे कि values-large-v11 या इसी तरह। यह पूरी तरह से आप पर निर्भर है।

+0

बहुत बढ़िया, धन्यवाद रोमन। मैं उत्सुक हूं कि आपका क्या मतलब है "ध्यान दें कि भविष्य में, होलो थीम हमेशा एपीआई स्तर से समझ में नहीं आती है"। क्या आप कहने का मतलब है कि होलो थीम अलग हो सकती है या भविष्य में रिलीज में एक पूरी नई थीम जोड़ा जा सकता है? इस प्रकार डेवलपर को और विषयों को समायोजित करने की आवश्यकता हो सकती है? इससे कोई भी ऐसा करना मुश्किल हो जाता है जैसे कि डिफ़ॉल्ट थीम (चाहे वह थीम या थीम हो। होलो) का उपयोग करें, NoTitleBar के साथ। वैसे भी, किसी भी स्पष्टीकरण के लिए धन्यवाद; मैं आईसीएस –

+0

की प्रतीक्षा कर रहा हूं कि यह काफी कम दृष्टि वाली टिप्पणी थी :-) अब इसे हड़ताली कर रहा है। शारीरिक आकार के बावजूद होलो निश्चित रूप से एपीआई 11+ के लिए समझ में आता है। –

+0

@RomanNurik - लक्ष्य 11 होने पर भी होलो लाइट को पहचानने के लिए ऑटो-पूर्ण नहीं मिलता है। प्रोजेक्ट.प्रोपर्टीज में बदलने के बाद ही एंड्रॉइड -11 का लक्ष्य, यह प्रोजेक्ट संकलित करने और स्वतः पूर्ण करने में सक्षम था काम किया। –

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