2011-09-23 14 views
13

मैं अपने डिवाइस पर केवल लैंडस्केप मोड में हैलो वर्ल्ड नमूना एप्लिकेशन चलाने के लिए चाहता हूं।केवल लैंडस्केप मोड में एप्लिकेशन चलाएं?

यदि डिवाइस पोर्ट्रेट में बदल गया है, तो मैं एक टोस्टर उठाना चाहता हूं। उदाहरण के लिए "कृपया अपना आवेदन चलाने के लिए लैंडस्केप मोड में बदलें"।

मुझे यह कैसे करना चाहिए?

उत्तर

37

इस प्रकार आप प्रोग्राम के रूप में दोनों के लिए जा सकते हैं:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

या भी मैनिफ़ेस्ट फ़ाइल में तुम यहाँ दे

<activity android:name=".YourActivity" android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation"/> 
+1

महान की तरह कुछ कोशिश कर सकते हैं कर सकते हैं ans ....... @ एंड्रॉइड किलर: – pratik

8

अपने मैनिफ़ेस्ट फ़ाइल में अपनी गतिविधि टैग से जोड़ें:

android:screenOrientation="landscape" 

यह लैंडस्केप मोड करने के लिए अपने उन्मुखीकरण ठीक कर देंगे और आप उपयोगकर्ता के लिए किसी भी टोस्ट को दिखाने के लिए नहीं की जरूरत है।

0

आपको गतिविधि आप के लिए स्क्रीन अभिविन्यास परिवर्तन को पकड़ने के लिए चाहते हैं के लिए configChanges -attribute उपयोग कर सकते हैं।

उसके बाद, आपकी गतिविधि में onConfigurationChanged()-method को अभिविन्यास में परिवर्तन के दौरान बुलाया जाएगा।

जाँच करने के लिए जो उन्मुखीकरण वर्तमान में प्रदर्शित किया जाता है, देखें कि इस पुराने पोस्ट: Check orientation on Android phone

उसके बाद, आप अपने संदेश को दिखाने या जो कुछ भी आप की तरह कर सकते हैं (बेशक आप भी यह परिदृश्य में केवल दिखाने के लिए सेट कर सकते हैं) ।

0

के रूप में आप इस

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

Log.v("log_tag", "display width is "+ width); 
Log.v("log_tag", "display height is "+ height); 

if(width<height){ 
    Toast.makeText(getApplicationContext(),"Device is in portrait mode",Toast.LENGTH_LONG).show(); 
} else { 
    Toast.makeText(getApplicationContext(),"Device is in landscape mode",Toast.LENGTH_LONG).show(); 
} 
संबंधित मुद्दे