मेरे पास एक ऐप है जो एक गतिविधि में पूर्णस्क्रीन बिटमैप्स दिखाता है। तेज़ लोडिंग समय प्रदान करने के लिए, मैं उन्हें स्मृति में लोड करता हूं। लेकिन जब स्क्रीन अभिविन्यास बदलती है, तो मैं नए आयामों के अंदर फिट बिटमैप्स के साथ फिर से भरने के लिए कैश को साफ़ करना चाहता हूं। एकमात्र समस्या यह है कि ऐसा करने के लिए, मुझे पता होना चाहिए कि अभिविन्यास परिवर्तन कब होता है। क्या किसी को पता है कि इसका पता कैसे लगाया जाए?डिवाइस का चित्र पोर्ट्रेट से लैंडस्केप मोड में कब स्विच किया जाए?
उत्तर
यह वास्तव में कोई नया दृश्य पैदा करेगा और onCreate फिर से बुलाया जाएगा बदलने आधिकारिक दस्तावेज http://developer.android.com/guide/topics/resources/runtime-changes.html
देखें।
इसके अलावा आप इसे माध्यम से
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
लिंक के लिए बहुत बहुत धन्यवाद महान जवाब के लिए बहुत बहुत धन्यवाद! –
@noone: ध्यान दें कि इस विधि को केवल तभी कॉल किया जाएगा यदि आपने कॉन्फ़िगरेशन चुने हैं जिन्हें आप एंड्रॉइड.R.attr # configChanges को अपने मैनिफेस्ट में विशेषता के साथ संभालना चाहते हैं। जावडोक देखें! – user504342
धन्यवाद आदमी, यह मेरे लिए भी काम करता है। – Suniel
आमतौर पर अभिविन्यास परिवर्तन OnCreate()
पर कॉल करता है जब तक कि आप इसे अन्यथा करने के लिए कुछ नहीं करते हैं।
आप वहां तर्क डाल सकते हैं।
बेशक समझ में आता है, लेकिन यह सुनिश्चित करने के लिए कि मैं हर बार कैश को फिर से लोड नहीं करता हूं क्रिएट को बुलाया जाता है? उदाहरण के लिए फोन कॉल के बाद गतिविधि को फिर से बनाया जाने के बाद क्रिएट को बुलाया जा सकता है और कैश को इस स्थिति में पुनः लोड नहीं किया जाना चाहिए। –
@Poplitou 'onSavedInstanceState' के बारे में siik के उत्तर को देखते हैं और http://stackoverflow.com/questions/4096169/onsaveinstancestate-and-onrestoreinstancestate – sealz
लिंक –
जांच कर सकते हैं आप अपने onCreate
विधि से onSavedInstanceState
जांच कर सकते हैं, अगर यह अशक्त साधन इस विन्यास परिवर्तन है नहीं है।
ठीक है, मैं देखता हूं कि यह कैसे जानना है, महान जवाब के लिए धन्यवाद! –
एक और दृष्टिकोण OrientationEventListener का उपयोग कर रहा है।
यह इस तरह इस्तेमाल किया जा सकता:
OrientationEventListener mOrientationEventListener = new OrientationEventListener(
this, SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
//checking if device was rotated
if (orientationPortrait != isPortrait(orientation)) {
orientationPortrait = !orientationPortrait;
Log.d(TAG, "Device was rotated!");
}
}
};
उन्मुखीकरण जांचने के लिए:
private boolean isPortrait(int orientation) {
return (orientation >= (360 - 90) && orientation <= 360) || (orientation >= 0 && orientation <= 90);
}
और सक्षम और अक्षम श्रोता के लिए मत भूलना:
if (mOrientationEventListener != null) {
mOrientationEventListener.enable();
}
if (mOrientationEventListener != null) {
mOrientationEventListener.disable();
}
मुझे लगता है कि कॉन्फ़िगरेशन परिवर्तन एक बात है, इस मामले में कॉन्फ़िगरेशन चेंजड जाने का तरीका है। लेकिन अगर आपने अभिविन्यास परिवर्तन को बंद कर दिया है और अभी भी अधिसूचित होना चाहते हैं, तो ओरिएंटेशन श्रोताओं का सबसे अच्छा तरीका है। धन्यवाद Bogdan। – Murciegalo84
- 1. लैंडस्केप से पोर्ट्रेट
- 2. समस्या pushViewController लैंडस्केप से पोर्ट्रेट
- 3. ब्लूस्टैक का ओरिएंटेशन बदलें: पोर्ट्रेट/लैंडस्केप मोड
- 4. आईओएस 6 में पोर्ट्रेट और लैंडस्केप मोड
- 5. ios6 लैंडस्केप से पोर्ट्रेट मोड में रोटेशन समस्या
- 6. पोर्ट्रेट-लैंडस्केप-पोर्ट्रेट स्विच करने के बाद मीडिया क्वेरी मिलान खोना
- 7. लैंडस्केप से पोर्ट्रेट में दृश्य कनवर्ट करना?
- 8. लैंडस्केप मोड
- 9. पोर्ट्रेट/लैंडस्केप
- 10. कैमरे में फोर्स पोर्ट्रेट मोड
- 11. लैंडस्केप या पोर्ट्रेट मोड में फोटो कैसे जानना है?
- 12. लैंडस्केप मोड
- 13. आईफोन एसडीके: अभिविन्यास (लैंडस्केप और पोर्ट्रेट दृश्य)
- 14. एंड्रॉइड: पोर्ट्रेट मोड में कैमरा पूर्वावलोकन अभिविन्यास
- 15. जावास्क्रिप्ट/jquery में आईपैड लैंडस्केप/पोर्ट्रेट मोड में कैसे पता लगाया जाए?
- 16. लैंडस्केप मोड
- 17. एंड्रॉयड: लैंडस्केप मोड
- 18. एंड्रॉइड में स्क्रीन को लैंडस्केप मोड में कैसे रखा जाए
- 19. एंड्रॉइड एमुलेटर में लैंडस्केप मोड में स्विचिंग
- 20. फोर्स "लैंडस्केप" ओरिएंटेशन मोड
- 21. केवल लैंडस्केप मोड में एप्लिकेशन चलाएं?
- 22. चित्र या रिवर्स पोर्ट्रेट में गतिविधि केवल
- 23. पोर्ट्रेट मोड में एक लाइव वॉलपेपर "फिक्सिंग"
- 24. पोर्ट्रेट लेआउट लैंडस्केप को ओरिएंटेशन बदलने के बाद और पोर्ट्रेट
- 25. कीबोर्ड लैंडस्केप मोड
- 26. UISplitViewController पोर्ट्रेट मोड गायब UIBarButtonItem
- 27. लैंडस्केप साथ PrintDialog और पोर्ट्रेट पृष्ठों
- 28. दिखाएँ एंड्रॉयड DialogFragment के रूप में पोर्ट्रेट मोड में और लैंडस्केप मोड
- 29. पोर्ट्रेट मोड में MediaRecorder वीडियो कैप्चरिंग
- 30. आईपैड में पोर्ट्रेट से लैंडस्केप और वाइस वर्सा से डिवाइस ओरिएंटेशन चेंज को कैसे जांचें
के संभावित डुप्लिकेट [ Android में लेआउट में अभिविन्यास परिवर्तन का पता कैसे लगाएं?] (Http://stackoverflow.com/questions/5726657/how-to-detect-orientation-change-in-layout-in -android) – Sam