2010-11-15 11 views
58

मैं एंड्रॉइड में टैबलेट और हैंडसेट के लिए अलग-अलग लेआउट बनाना चाहता हूं। इस भेदभाव को बनाने के लिए मुझे लेआउट संसाधन कहां रखना चाहिए?एंड्रॉइड में टैबलेट के लिए लेआउट

+2

टेबलेट मोबाइल उपकरणों रहे हैं, ताकि दोनों के बीच कोई अंतर नहीं है। – Rene

उत्तर

121

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन यह की खातिर ... अनुसार documentation के लिए, आप (आप कोड में टुकड़ा अवधारणा का उपयोग कर रहे हैं, तो इस

res/layout/main_activity.xml   # For handsets (smaller than 600dp available width) 
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) 
+0

वाह धन्यवाद के नीचे समर्थित है। प्रत्येक ड्रॉइंग फ़ोल्डर प्रत्येक का उपयोग करता है? – Si8

+0

नेक्सस 9 और नेक्सस 10 उपकरणों के लिए मुझे कौन से लेआउट फ़ोल्डर्स बनाने की ज़रूरत है? –

+0

नेक्सस 10 सामग्री को sw800dp के फ़ोल्डर में ले जाने का प्रयास करें। नेक्सस 9 sw768dp फ़ोल्डर से अपने संकेत लेना जारी रखेगा –

22

लेआउट के साथ, मेरा मानना ​​है कि आप का पालन करते हुए केवल वर्तमान अंतर कर सकते हैं:

res/layout/my_layout.xml   // layout for normal screen size 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode 

आप अलग-अलग सेटिंग here बीच अंतर करने के फ़ोल्डर संरचना को जोड़ सकते हैं क्या बारे में अधिक जानकारी पा सकते हैं।

सबसे बड़ी समस्या यह है कि एंड्रॉइड एसडीके ने वास्तव में गोलियों को आधिकारिक तौर पर शामिल नहीं किया है। उम्मीद है कि एंड्रॉइड के अगले संस्करण में हल किया जाएगा। अन्यथा, आपको केवल यह सुनिश्चित करने की आवश्यकता है कि आप स्केलिंग लेआउट का उपयोग करें जो किसी भी स्क्रीन आकार के लिए काम करेगा।

+0

मुझे लगता है कि समस्या एसडीके के बारे में नहीं है। उदाहरण के लिए फोन में स्क्रीन आकार 480x800 एचडीपीआई टैबलेट लेआउट के लिए पर्याप्त है। यदि आपका ऐप टैबलेट लेआउट के साथ सबसे अच्छा काम करता है तो उस स्थिति में, उपयोगकर्ताओं को टैबलेट रखने की आवश्यकता नहीं होती है और फिर भी इसका लाभ होता है। तो टैबलेट/फोन को अलग करने की जरूरत नहीं है। आपके द्वारा निर्देशित लिंक इसे पूरी तरह हल करता है। धन्यवाद। –

+0

यह एंड्रॉइड 3.2 –

34

की तरह एकाधिक संपत्ति फ़ोल्डर बनाने चाहिए बहु फलक लेआउट का मतलब है) तो अपने सबसे अच्छे रूप swdp

res/layout-w600dp/main_activity.xml # For 7” tablets (600dp wide and bigger) 
res/layout-w720dp/main_activity.xml # For 10” tablets (720dp wide and bigger) 
res/layout-w600dp-land/main_activity.xml # For 7” tablets in landscape (600dp wide and     bigger) 
res/layout-w720dp-land/main_activity.xml # For 10” tablets in landscape (720dp wide and bigger) 

के बजाय WDP उपयोग करने के लिए समझ WDP के लिए तालिका देखें

Table 2. New configuration qualifers for screen size (introduced in Android 3.2). नीचे दिए गए लिंक में http://developer.android.com/guide/practices/screens_support.html

0

This source भी उपलब्ध कराने के कैसे डिवाइस कॉन्फ़िगरेशन, जैसे के आधार पर किसी भी संसाधन कॉल करने के लिए: भाषा, स्क्रीन चौड़ाई/ऊंचाई, लेआउट दिशा, स्क्रीन अभिविन्यास ... आदि।

आपको बताए गए स्रोत के रूप में डिफ़ॉल्ट संसाधन बनाने के लिए सावधान रहना होगा, जैसे टैबलेट के लिए आइकन की उच्च गुणवत्ता को कॉल करना।

0

प्रलेखन अनुसार, आप this..full सूची की तरह एकाधिक संपत्ति फ़ोल्डर बनाने चाहिए ...... res/layout/main_activity.xml // For handsets (smaller than 600dp available width) res/layout/main_activity.xml // For handsets (smaller than 600dp available width) 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) res/layout-sw600dp-land/main_activity.xml // For 7” tablets in landscape (600dp wide and bigger) res/layout-sw720dp-land/main_activity.xml // For 10” tablets in landscape (720dp wide and bigger)

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