2012-05-10 21 views
29

डिज़ाइन करना मान लें कि मैं टैबलेट-केवल लेआउट के 2 अलग-अलग सेट बनाना चाहता हूं। 600 डीपी (7 "टैबलेट 1024x600) और 720 डीपी के लिए एक (10" टैबलेट 1280x720 या 1280x800)एक एंड्रॉइड टैबलेट-केवल ऐप

मैं समझता हूं कि एंड्रॉइड 3.2 के साथ अब आप टैबलेट लेआउट निर्दिष्ट कर सकते हैं। मैं समझता हूं कि Google Play पर कैसे निर्दिष्ट करना है कि यह एक टैबलेट-केवल ऐप है।

यह एंड्रॉइड है: आवश्यक न्यूनतम न्यूनतम WIDth निर्दिष्ट करने के लिए सबसे पुराना WidthDp आवश्यक है। ठीक है लेकिन बाद में गाइड पर आप

सावधानी: एंड्रॉइड सिस्टम इस विशेषता पर ध्यान नहीं देता है, इसलिए इससे यह प्रभावित नहीं होता कि आपका एप्लिकेशन रनटाइम पर कैसा व्यवहार करता है। इसके बजाए, इसका उपयोग Google Play जैसी सेवाओं पर आपके एप्लिकेशन के लिए फ़िल्टरिंग को सक्षम करने के लिए किया जाता है। हालांकि, Google Play वर्तमान में फ़िल्टरिंग (एंड्रॉइड 3.2 पर) के लिए इस विशेषता का समर्थन नहीं करता है, इसलिए यदि आपका एप्लिकेशन छोटी स्क्रीन का समर्थन नहीं करता है तो आपको अन्य आकार विशेषताओं का उपयोग करना जारी रखना चाहिए।

तो इसका उपयोग सिस्टम द्वारा नहीं किया जाता है और Google Play द्वारा उपयोग नहीं किया जाता है ... इसलिए मूल रूप से यह बेकार है, है ना?

"तुम ठीक अन्य आकार का श्रेय अगर आपके आवेदन छोटे स्क्रीन का समर्थन नहीं करता इस्तेमाल करते रहने चाहिए

अन्य क्या आकार विशेषता का समर्थन करता है स्क्रीन एक Xlarge:।।? स्क्रीन हैं कम से कम 960dp एक्स 720dp बड़े: स्क्रीन कम से कम 640 डीपी x 480 डीपी

1024x600 7 "टैबलेट एक" बड़ी "स्क्रीन है। तो मुझे मूल रूप से 640x480 res के लिए एक लेआउट डिज़ाइन करना होगा। भी क्योंकि अगर मैं अपने ऐप को टैबलेट के 2 अलग-अलग आकारों के लिए उपलब्ध करना चाहता हूं, तो मुझे बड़ी और एक्सलर्ज स्क्रीन सक्षम करना होगा।

तो मुझे लगता है कि है कि मैं इस

res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger) 

तरह लेआउट के 2 विभिन्न सेट बना सकते हैं और पूरी तरह से छोटी स्क्रीन के लिए एक लेआउट निर्दिष्ट करने के लिए छोड़ देते हैं लेकिन फिर अनुप्रयोग छोटी स्क्रीन पर क्रैश हो जाएगा। यह ऐप को चलाने से रोकने का एक तरीका है जो निश्चित रूप से सुरुचिपूर्ण नहीं है।

क्या ऐप को केवल 600 डीपी और Google Play पर अधिक स्क्रीन के लिए उपलब्ध कराने का कोई तरीका है? मैं काफी उलझन में हूँ। मैं एक टैबलेट-केवल ऐप बनाना चाहता हूं कि 640x480 फ़ोन Google Play पर डाउनलोड नहीं हो सका। मुझे लगता है कि मुझे कुछ बहुत याद आ रही है।

उत्तर

47

अपने अनुप्रयोग सिर्फ में आईसीएस चल टेबलेट के लिए फ़िल्टर करने के लिए Google-Play आप अपने AndroidManifest में यह करना होगा:

<supports-screens 
     android:largeScreens="true" 
     android:normalScreens="false" 
     android:requiresSmallestWidthDp="600" 
     android:smallScreens="false" 
     android:xlargeScreens="true" /> 

<uses-sdk 
    android:minSdkVersion="14" 
    android:targetSdkVersion="14" /> 

मधुकोश गोलियाँ प्राप्त करने के लिए अच्छी तरह से आप बस अपने minSdk

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="14" /> 
बदल

इसलिए अब आप जिंजरब्रेड (2.3) और नीचे कह रहे हैं कि आपका ऐप डाउनलोड नहीं हो सकता है (क्योंकि वे टैबलेट नहीं हैं और न ही)।

हनीकॉम्ब टैबलेट (3।0) समर्थित है (क्योंकि < 3.2 requiresSmallestWidth विशेषता) अनदेखी कर रहा है

आईसीएस टैबलेट का समर्थन कर रहे है क्योंकि यह आपके smallestWidth विशेषता

पर दिखता है कोई फोन मधुकोश

चल रहे हैं और अंत में ICS फोन ऐसा इसलिए नहीं है क्योंकि हम कहते हैं कि आईसीएस सबसे छोटी WIDTH विशेषता

+0

धन्यवाद। मेरी एकमात्र चिंता यह है कि इस पृष्ठ पर http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts यह कहता है "Google Play वर्तमान में फ़िल्टरिंग (एंड्रॉइड 3.2 पर) के लिए इस विशेषता का समर्थन नहीं करता है"। तो आप कह रहे हैं कि इस विशेषता/फिल्टर का उपयोग आईआईसी फोन और टैबलेट पर किया जाता है? मेरी इच्छा है कि दस्तावेज़ उस पर अधिक स्पष्ट थे। –

+1

'Google Play वर्तमान में 3.2 पर फ़िल्टरिंग (एंड्रॉइड 3.2 पर) के लिए इस विशेषता का समर्थन नहीं करता है, यही कारण है कि मैंने उपरोक्त को हनीकॉम के लिए लिखा है, लेकिन इसका उपयोग 4.0 उपकरणों पर फ़िल्टर करने के लिए किया जाएगा – Blundell

+0

यह महान संदर्भ था , मुझे संदेह है, अगर मेरा एप्लिकेशन लैंडस्केप मोड के लिए विशिष्ट है। अगर चित्र हम 600 निर्दिष्ट कर सकते हैं चौड़ाई की सीमा है, लेकिन परिदृश्य आवेदन के लिए क्या है। मैनिफेस्ट में "एंड्रॉइड: स्क्रीनऑरिएंटेशन =" लैंडस्केप "का उल्लेख किया है। क्या यह कोड लैंडस्केप मोड के लिए चौड़ाई पर विचार करेगा। – RAAAAM

1

मूल रूप से इसे फ़ोन बनाम टैबलेट के रूप में स्पष्ट नहीं किया जा सकता है। मैं जो कुछ पढ़ा है उसे पुन: व्यवस्थित करने वाला नहीं हूं, उम्मीद है कि इससे मदद मिलती है।

इस उत्तर को देखें: Application Only for Tablets

और यह एक: Android application just for tablets?

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