2011-03-28 16 views
5

मेरे पास एक गतिविधि है जिसमें फ़ोल्डर layout फ़ोल्डर में दो लेआउट हैं और दूसरा layout-large में है, (एक फ़ोन कारक के लिए है और दूसरा टैबलेट फॉर्म के लिए है)। कैसे क्या मुझे पता है कि टैबलेट फॉर्म में कौन से लेआउट लोड किए जा रहे हैं, मैं अधिक डेटा प्रदर्शित करता हूं?डिस्प्ले आकार के आधार पर कौन सा लेआउट लोड किया गया है यह पता लगाना?

धन्यवाद

संपादित करें: मुझे पता है कि गोली में यह layout-large लोड होगा, लेकिन मैं कैसे पता है कि मैं एक गोली फार्म कारक के साथ कुछ में चल रहा हूँ?

+0

और भी अधिक:। Xlarge! और, एंड्रॉइड 3.2 के बाद से अधिक क्वालीफायर हैं जो सीधे उपलब्ध स्क्रीन चौड़ाई और/या ऊंचाई तक पहुंचते हैं, इसलिए यह और भी जटिल हो जाएगा ... – Zordid

उत्तर

3

एक सरल दृष्टिकोण एक दृश्य दृश्य को दृश्यता सेट के साथ GONE के रूप में रखना होगा। प्रत्येक लेआउट के लिए टेक्स्ट प्रॉपर्टी को अलग रखें। अपने कोड में इस दृश्य की जांच करें और पहचानें कि कौन सा लेआउट लोड किया गया है।

+0

कूल, हाँ जो काम करेगा;) एक हैक का थोड़ा सा, लेकिन एक अच्छा ! – Totic

+0

यह हैक यकीन है कि यह अच्छा है, लेकिन फिर भी यह जानना अच्छा होगा कि "हैकिंग" के बिना इसे कैसे किया जाए। वहां कोई रास्ता अवश्य होना चाहिए... – Zordid

10

आप इसे प्रोग्राम के रूप में पता लगा सकते हैं:

(getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE; 
getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; 

और getResources में अन्य तरीकों और गुण() के साथ getConfiguration()

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