मैं विभिन्न स्क्रीनसाइज और उपकरणों के लिए अलग-अलग लेआउट का उपयोग करता हूं। मैं विशिष्ट लेआउट फ़ोल्डर्स के साथ टुकड़े का उपयोग करता हूं। अवधारणा महान है, बड़ी स्क्रीन वाले टैबलेट और डिवाइस के लिए मैं लेआउट-sw600dp में लेआउट फ़ाइल रखता हूं और एंड्रॉइड विभिन्न उपकरणों पर सही लेआउट देने का प्रबंधन करता है।Android में विभिन्न लेआउट के लिए अलग-अलग प्रोग्रामिंग तर्कों को अलग करने का सबसे अच्छा तरीका क्या है?
मुझे क्या बग है: मैं कैसे पता लगा सकता हूं कि मेरे कोड के अंदर कौन से लेआउट का उपयोग किया जाता है। मेरे टुकड़ों को विभिन्न लेआउट के लिए थोड़ा अलग कोड की आवश्यकता है।
सामान्य में कस्टम लेआउट प्रोग्रामिंग तर्क को अलग करने के लिए सर्वोत्तम अभ्यास क्या है मेरे टुकड़े/क्रियाकलापों के अंदर?
मेरा दृष्टिकोण अब हैकी की तरह है और विभिन्न लेआउट फ़ोल्डर्स के साथ सिंक में नहीं है।
private boolean isTabletDevice() {
if (android.os.Build.VERSION.SDK_INT >= 11) { // honeycomb
// test screen size, use reflection because isLayoutSizeAtLeast is
// only available since 11
Configuration con = getResources().getConfiguration();
try {
Method mIsLayoutSizeAtLeast = con.getClass().getMethod("isLayoutSizeAtLeast", int.class);
Boolean r = (Boolean) mIsLayoutSizeAtLeast.invoke(con, 0x00000004); // Configuration.SCREENLAYOUT_SIZE_XLARGE
return r;
} catch (Exception x) {
x.printStackTrace();
return false;
}
}
return false;
}
और फिर
if(isTabletDevice()) {
//findViewById(R.id.onlyInTabletLayoutButton);
}else{
//
}