2016-04-15 14 views
6

मैं एंड्रॉइड के लिए नया हूं और अभी थोड़ा उलझन में हूं।क्या मुझे न्यूनतम एसडीके 21 के साथ AppCompatActivity और v7 समर्थन पुस्तकालयों की आवश्यकता है?

एंड्रॉयड स्टूडियो में मिनट एसडीके 21 (एंड्रॉयड 5.0) के साथ एक नई परियोजना की स्थापना, डिफ़ॉल्ट रूप से करने के बाद मेरी main_activityAppCompatActivity जो पहली बार में कोई समस्या नहीं था फैली हुई है। मैंने सामग्री को स्थापित करने का प्रयास किया। here दिखाए गए डार्क थीम लेकिन @android:style/Theme.MaterialAppCompatActivity के साथ काम नहीं करता है। यह अब काम करता है जब main_activity बस Activity बढ़ाता है।

मैं मिनट एसडीके 21 के साथ AppCompatActivity जरूरत है अगर मैं Action Bar जैसी सुविधाओं का उपयोग करना चाहते या यह सिर्फ Activity से विस्तार करने के लिए ठीक है क्या, मैंने सोचा था कि AppCompatActivity & v7 Support Libraries वहाँ सामग्री डिज़ाइन उपयोग करने के लिए सक्षम होने के लिए कम sdk वर्शन का समर्थन है , मैं क्या खो रहा हूँ ?

यदि AppCompatActivity एसडीके स्तर 21 में आवश्यक नहीं है और एंड्रॉइड स्टूडियो इसे डिफ़ॉल्ट रूप से क्यों सेट करेगा, भले ही 21 मिनट एसडीके के रूप में सेट किया गया हो?

मुझे लगता है कि मेरे पास एक मुख्य प्रश्न है, सामग्री डिजाइन थीम का उपयोग करने के लिए सबसे अच्छा अभ्यास क्या है जैसे here एप कॉम्पैक्टएक्टिविटी के साथ संयुक्त जो एंड्रॉइड स्टूडियो डिफ़ॉल्ट रूप से उपयोग करता है।

+0

देख सकते हैं आप एक उत्तर का चयन करें? –

+1

इसे केवल आंशिक रूप से उत्तर दिया गया है, मैं अभी भी सर्वोत्तम अभ्यास के बारे में अनिश्चित हूं। और चूंकि मैं सहेजने के पक्ष में रहना चाहता हूं, इसलिए मैंने एपकोम्पेट के साथ चिपकने और जवाब खोजने को रोकने का फैसला किया। –

उत्तर

0

नहीं, लेकिन design समर्थन लाइब्रेरी और support-v4 में कुछ अच्छे विचार हैं जिन्हें आप चाहें।

डिजाइन:

  • NavigationView

समर्थन-v4:

  • DrawerLayout

और यदि आप इस मार्ग पर जा रहे हैं और "सामान्य" Fragments और ViewPager का उपयोग करना चाहते हैं, तो आपको support-v13 का उपयोग करने की आवश्यकता है।

+0

आपके उत्तर के लिए धन्यवाद, मुझे निश्चित रूप से एक नेविगेशन-ड्रावर/नेविगेशन व्यू चाहिए? लेकिन AppCompat का उपयोग किए बिना एपीआई 21 (5.0) में मूल रूप से उपयोग करना संभव नहीं है? मैं अभी भी इस बारे में बहुत अनिश्चित हूं कि '@android: style/Theme.Material' का उपयोग करने के लिए सबसे अच्छा अभ्यास क्या है क्योंकि यह 'AppCompat' के साथ काम नहीं करता है क्योंकि यह मुख्य बात है जो मैं चाहता हूं। –

+0

हां, इसे 'AppCompat' की आवश्यकता नहीं है, इसे' डिज़ाइन 'लाइब्रेरी की आवश्यकता है। 'नेविगेशन व्यू' 'डिज़ाइन' लाइब्रेरी में है। –

1

यदि आप पुराने प्लेटफॉर्म पर नई एसडीके कार्यक्षमता प्रदान करना चाहते हैं तो सहायता पुस्तकालय आवश्यक हैं। यदि आपका minSDK = 5 है तो आपको केवल समर्थन पुस्तकालयों की आवश्यकता है यदि उनमें कुछ ऐसा शामिल है जो 5 के एंड्रॉइड एसडीके

+0

धन्यवाद, यह स्पष्ट करने के लिए कि मैं न्यूनतम एसडीके एपीआई 21 (लॉलीपॉप) का उपयोग कर रहा हूं, लेकिन अभी भी एंड्रॉइड स्टूडियो डिफ़ॉल्ट रूप से AppCompatActivity से मुख्य_एक्टिविटी बढ़ाता है जो अजीब रूप से एटीआई 21 में पेश की गई सामग्री डिजाइन थीम के साथ संगत नहीं है। मैं बस कोशिश कर रहा हूं सबसे अच्छी प्रैक्टिस या सही तरीके से सामग्री थीम का उपयोग करने का तरीका जानें। –

1

हां, आपको ऐप कंपैट पुस्तकालयों और टुकड़ों का उपयोग करना चाहिए।

बगफिक्स हैं जो समर्थन पुस्तकालयों में बंडल किए जाते हैं। इस तरह Google लोगों को अपने फोन अपडेट करने के इंतजार किए बिना एंड्रॉइड में एक बग ठीक कर सकता है।

यह AppCompat और FragmentCompat

सहित समर्थन लाइब्रेरी, का उपयोग करने के साथ विषयों के संबंध सबसे अच्छा अभ्यास है, अपने विषयों इस

<style name="AppTheme" parent="Theme.AppCompat">

की तरह दिखना चाहिए इस https://medium.com/google-developers/theming-with-appcompat-1a292b754b35#.988b91sl1

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