2012-10-25 16 views
7

मुझे आश्चर्य है कि एंड्रॉइड एप्लिकेशन में सुंदर गिरावट दृष्टिकोण का उपयोग करना संभव है या नहीं। मैं, एपीआई 15 के कुछ कार्यों का उपयोग करें, लेकिन अगर यह समर्थित नहीं है, तो इसके बजाय एपीआई 10 का उपयोग करें।क्या एंड्रॉइड एप्लिकेशन को "सुंदर गिरावट" करना संभव है?

विशेष रूप से, मेरे पास एंड्रॉइड 4x (और इस प्रकार सामान्य टैब का उपयोग करके) में इस सुविधा के एंड्रॉइड 4 बनाम गायब समर्थन में "स्वाइपिंग टैब" है, लेकिन सवाल सामान्य है।

मैं उन उपकरणों पर एक उन्नत कार्यक्षमता का उपयोग करना चाहता हूं जो इसका समर्थन करते हैं लेकिन जब यह समर्थित नहीं है, तो मैं एक विकल्प का उपयोग करना चाहता हूं। मैं एंड्रॉइड 4 प्रोजेक्ट में एंड्रॉइड 4 लाइब्रेरीज़ का उपयोग करने में सक्षम नहीं हूं, जबकि एंड्रॉइड 4 प्रोजेक्ट एक एंड्रॉइड 2 डिवाइस पर लॉन्च करने योग्य नहीं होगा।

कोई समाधान? या, कम से कम और इस पल के लिए, एंड्रॉइड 2 पर "स्वाइपिंग टैब" के लिए कोई समाधान?

उत्तर

5

भाग 1: नए एपीआई के लिए कार्यक्षमता का उपयोग करने में सक्षम होने के लिए, सुनिश्चित करें कि आपका मेनिफेस्ट आपके एंड्रॉइड की घोषणा करता है: minSdkVersion निम्नतम संस्करण (10, आपके मामले में) पर, लेकिन एंड्रॉइड सेट करें: targetSdkVersion एपीआई के साथ नए संस्करण में सेट करें आप उपयोग करना चाहते हैं (15)। अपने कोड में, आप

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
    // Use the new APIs 
} else { 
    // Use the old APIs 
} 

जैसे कुछ कर सकते हैं आपको नए एपीआई उपयोग को इंगित करने के लिए एक एनोटेशन जोड़ना होगा।

भाग 2: टैब स्वाइप करना - मैंने जेप व्हार्टन के व्यूपेगर इंडिकेटर और स्वाइपिंग टैब प्राप्त करने के लिए एंड्रॉइड सपोर्ट लाइब्रेरी में व्यूपागर कार्यक्षमता का उपयोग किया है। यह बहुत आसान है। ViewPagerIndicator पृष्ठ

पर अधिक जानकारी है उम्मीद है कि इससे मदद मिलती है।

+0

धन्यवाद में पेश किए गए टुकड़े, पेजर, टैब और एक्शनबार समेत। इसे जांच लेंगे। मुझे पता है कि एप्लिकेशन एंड्रॉइड 2 में प्रभाव में सक्षम हैं लेकिन मुझे नहीं पता था कि उन्होंने यह कैसे किया ... – Malis

1

कक्षा या फ़ंक्शन के ऊपर @TargetApi निर्देश का उपयोग करना सुनिश्चित करें कि केवल API के नए संस्करण के साथ काम करता है। उदाहरण

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) 
void foo() { 

    /* function called only on ice cream sandwich (API level 14) and greater */ 

} 
1

के लिए मुझे पता है आप पहले से ही अपने जवाब में चिह्नित है, लेकिन maby this मदद कर सकता है आप, शर्लक कि 2. x को 4.x functanlities बैकपोर्टेड है ActionBar कहा जाता है इसकी एक Android पुस्तकालय 3.0

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