2012-04-03 20 views
10

मैंने एक एप्लीकेशन विकसित किया है और इसकी ओरिएंटेशन कॉन्फ़िगर किया गया है लैंडस्केप इसलिए यह हमेशा डिवाइस पर लैंडस्केप व्यू पर प्रदर्शित होगा।घूर्णन डिवाइस 180 डिग्री उल्टा नीचे अपने आवेदन 180 डिग्री उल्टा नीचे घुमाने के लिए कैसे?

अब जब मैं 180 डिग्री ऊपर की ओर डिवाइस घुमाता है तो मैं इसे 180 डिग्री ऊपर उल्टा करना चाहता हूं, इसलिए यह तदनुसार समायोजित करेगा और उपयोगकर्ता को ठीक से प्रदर्शित करेगा। वर्तमान में यदि मैं डिवाइस 180 डिग्री उल्टा घुमा रहा हूं, तो मेरा आवेदन नहीं है रोटेशन के अनुसार तदनुसार समायोजित नहीं करें, इसलिए यह रिवर्स (नीचे से ऊपर तक) में प्रदर्शित होगा उदाहरण के लिए: मान लीजिए कि मेरी गतिविधि में शीर्ष पर 2 टेक्स्ट फ़ील्ड हैं और नीचे 2 बटन हैं, इसलिए यदि आप 180 डिग्री ऊपर की ओर घुमाते हैं, गतिविधि तदनुसार समायोजित नहीं हो रही है, इसलिए उपयोगकर्ता शीर्ष पर बटन देख सकते हैं और टेक्स्ट फ़ील्ड्स नीचे हैं जो गलत है, इसे डिवाइस रोटेशन के अनुसार समायोजित/घुमाएं और शीर्ष पर टेक्स्ट फ़ील्ड और नीचे दिए गए टेक्स्ट फ़ील्ड प्रदर्शित करना चाहिए।

कृपया इस समस्या को हल करने के लिए अपने मूल्यवान समाधान प्रदान करें।

सादर, Piks

+0

हे, मैं वास्तव में आपके प्रश्न के विपरीत चाहता हूं, मैं इसे 180 फ्लिप नहीं करना चाहता हूं। आप इसे कैसे करते हैं, –

उत्तर

5

अपने AndroidManifest.xml फ़ाइल में, आप <activity> कॉन्फ़िगर करने के लिए सेंसर से उन्मुखीकरण का उपयोग करने की जरूरत है। यह डिफ़ॉल्ट होना चाहिए, लेकिन आप इसे android:screenOrientation="fullSensor" के साथ, सभी 4 संभावित अभिविन्यासों के लिए सेंसर की ओरिएंटेशन पर मजबूर कर सकते हैं। देखें http://developer.android.com/guide/topics/manifest/activity-element.html#screen

संपादित करें: आप सभी लेकिन एक उन्मुखीकरण सक्षम करना चाहते हैं, तो आप उन्मुखीकरण परिवर्तन घटना में अवरोध डालने और इसे खारिज करने से कि उन्मुखीकरण अक्षम कर सकते हैं अपने Activity:

public void onConfigurationChanged(Configuration config) { 
    if (config.orientation != Activity.ORIENTATION_PORTRAIT) { 
    setRequestedOrientation(config.orientation); 
    { 
} 

(इस के ऊपर से है मेरे सिर पर लगता है कि यह काम करता है, या लगभग इस तरह कुछ।)

आपको एंड्रॉइड को यह बताने की जरूरत है कि ऐप को <activity> में android:configChanges="orientation" के साथ अभिविन्यास परिवर्तनों को भी संभालने दें।

+0

आपके मूल्यवान इनपुट के लिए धन्यवाद लेकिन ऐसा लगता है कि एंड्रॉइड 2.1 एपीआई स्तर 7 में समर्थित नहीं है 2.1 एपीआई स्तर 7 में समर्थन करने का कोई तरीका है? और मैं अपने ऐप को पोर्ट्रेट मोड में घुमा नहीं चाहता हूं इसलिए मुझे ऐप के अभिविन्यास को लैंडस्केप को ठीक करने की ज़रूरत है, लेकिन मुझे 180 डिग्री उल्टा घुमाए जाने की अनुमति देनी चाहिए। – piks

+0

"सेंसर" भी काम करता है लेकिन कुछ उपकरणों पर रिवर्स-लैंडस्केप ओरिएंटेशन की अनुमति नहीं दे सकता है। मैं एक ओरिएंटेशन को बाहर करने के तरीके के साथ अपना जवाब संपादित करूंगा। कोड के ऊपर –

+0

डिवाइस 180 डिग्री घूर्णन करने के बाद अपेक्षित काम नहीं कर रहा है, डिवाइस रोटेशन के अनुसार गतिविधि को प्रदर्शित करने के लिए खुद को फिर से नहीं चलाता है। – piks

13

निर्दिष्ट करें:

android:screenOrientation="sensorLandscape" 

अपने AndroidManifest.xml में। यह परिदृश्य और रिवर्स लैंडस्केप के बीच आवेदन को बदल देगा।

+0

10-12 उत्तरों के माध्यम से जाने और 2-3 घंटे खर्च करने के बाद, इस जवाब ने मेरी समस्या को एक सेकंड में हल किया। –

+0

धन्यवाद, यह काम करता है !!!! –

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