सभी प्लेटफार्मों के लिए आयनिक में केवल पोर्ट्रेट मोड में ऐप को कैसे प्रतिबंधित करें?


121

मैं Ionic / Cordova पर काम कर रहा हूं, मैंने इसे जोड़ा है androidManifest.xmlलेकिन यह मेरे लिए काम नहीं करता है और ऐप अभी भी दोनों तरीकों से दिख रहा है

android:screenOrientation="portrait"

मैं अपने ऐप को केवल पोर्ट्रेट मोड में कैसे प्रतिबंधित कर सकता हूं? मैंने Android पर जाँच की है और यह काम नहीं करता है


यह आयनिक के लिए काम कर रहा है ??, ईओण 2 के लिए काम कर रहा है
मनीष कुमार

जवाबों:


315

यदि आप केवल सभी डिवाइस पर पोर्ट्रेट मोड को प्रतिबंधित करना चाहते हैं, तो आपको अपने प्रोजेक्ट रूट फ़ोल्डर में config.xml में इस लाइन को जोड़ना चाहिए।

<preference name="orientation" value="portrait" />

उसके बाद, कृपया कमांड लाइन में पाठ के नीचे लिखकर प्लेटफ़ॉर्म का पुनर्निर्माण करें:

ionic build

2
देखकर अच्छा लगा। मेरे लिए काम किया। Android पर जाँच की गई। धन्यवाद वादीम
मुहम्मद

1
आप केवल एक विशिष्ट स्क्रीन को कैसे प्रतिबंधित करते हैं?
user3607282

1
मैंने स्वयं इसका परीक्षण नहीं किया है, लेकिन आप इस ट्यूटोरियल के साथ वांछित परिणाम प्राप्त कर सकते हैं: gajotres.net/…
Vadiem Janssens

4
यह केवल तभी काम करता है जब आप इसे असली डिवाइस btw पर चलाते हैं। यदि आप इसे आयोनिक व्यू क्लाउड ऐप के माध्यम से चलाते हैं तो इसका कोई प्रभाव नहीं है।
जॉक्ल

1
ओकोन के लिए ओके 4.
पियरिक मार्टेलिएरे जूल

36

आयोनिक v2 + अपडेट

Ionic संस्करणों 2 और बाद के लिए, आपको किसी भी प्लगइन का उपयोग करने के लिए संबंधित Ionic मूल पैकेज को भी स्थापित करना होगा , जिसमें आप शामिल हैं cordova-plugin-और phonegap-plugin-प्लगइन्स का उपयोग करें ।

  1. आयोनिक नेटिव प्लग इन स्थापित करें

    CLI से प्लगइन के लिए Ionic मूल के टाइपस्क्रिप्ट मॉड्यूल स्थापित करें ।

    $ ionic cordova plugin add --save cordova-plugin-screen-orientation
    $ npm install --save @ionic-native/screen-orientation
    

    * ध्यान दें कि --saveकमांड वैकल्पिक है और यदि आप अपनी package.jsonफ़ाइल में प्लगइन जोड़ना नहीं चाहते हैं तो इसे छोड़ा जा सकता है

  2. आयात ScreenOrientationप्लगिन

    अपने प्लग इन को आयात करें controller, प्रलेखन में उपलब्ध अधिक विवरण ।

    import { ScreenOrientation } from '@ionic-native/screen-orientation';
    
    @Component({
        templateUrl: 'app.html',
        providers: [
            ScreenOrientation
        ]
    })
    
    constructor(private screenOrientation: ScreenOrientation) {
      // Your code here...
    }
    
  3. अपना काम करो

    प्रोग्राम को स्क्रीन ओरिएंटेशन लॉक और अनलॉक करें।

    // Set orientation to portrait
    this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
    
    // Disable orientation lock
    this.screenOrientation.unlock();
    
  4. बोनस अंक

    आप वर्तमान अभिविन्यास भी प्राप्त कर सकते हैं।

    // Get current orientation
    console.log(this.screenOrientation.type);  // Will return landscape" or "portrait"
    

1
नोट: आपको "@ आयनिक-मूल / कोर": "^ 3.6.1" की आवश्यकता है, क्योंकि निचला संस्करण त्रुटि का कारण बनता है: forum.ionicframework.com/t/…
Luckylooke

प्रदाताओं की सूची में ScreenOrientation जोड़ने की कोशिश करें
Tyler

3
ionic pluginअब काम नहीं लगता। मुझे लगता है कि यह अब है ionic cordova plugin। जैसेionic cordova plugin add --save cordova-plugin-screen-orientation
Rockin4Life33

2
जोड़ना <preference name="Orientation" value="portrait" />मेरे लिए पर्याप्त लगता है
12

2
DevApp, DevApp ऐप के भीतर आपके ऐप को केवल एक वेबव्यू के रूप में चला रहा है, इसलिए कुछ देशी सुविधाएँ काम नहीं करती हैं। डिवाइस पर सीधे अपने ऐप को संकलित और चलाने का प्रयास करें और इसे काम करना चाहिए।
टायलर

13

के अनुसार https://cordova.apache.org/docs/en/4.0.0/config_ref/#global-preferences ,

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

<preference name="Orientation" value="landscape" />

ज्ञात रहे कि ये मूल्य संवेदनशील हैं, यह "अभिविन्यास" है, न कि "अभिविन्यास"।


1
जब आप दिए गए लिंक पर स्क्रॉल करते हैं, तो यह निम्नलिखित होता है: "<वरीयता> टैग विभिन्न विकल्पों को नाम / मूल्य विशेषताओं के जोड़े के रूप में सेट करता है। प्रत्येक वरीयता का नाम केस-असंवेदनशील है । [...]"
वादीम जैन्सेंस

2
"अभिविन्यास" मेरे लिए काम करता है। "ओरिएंटेशन" मुझे वास्तविक डिवाइस पर ऐप चलाने पर सफेद स्क्रीन देता है।
CMA

2
"अभिविन्यास" मेरे लिए एंड्रॉइड डिवाइस में आयनिक 2 के साथ काम करता है।
kamayd

6

यदि आप अपने अभिविन्यास पर कुछ करना चाहते हैं, तो इसका मतलब है कि आप अपने एप्लिकेशन अभिविन्यास को बदलते समय कोई भी कार्य करना चाहते हैं तो आपको आयनिक फ्रेमवर्क प्लगइन का उपयोग करना होगा ... https://ionicframework.com/docs/native/screen-orientation/

यदि आप बस अपने ऐप को पोर्ट्रेट या लैंडस्केप मोड पर प्रतिबंधित करना चाहते हैं तो आपको अपने config.xml में बस इन निम्नलिखित पंक्ति को जोड़ना होगा

<preference name="orientation" value="portrait" />
                 OR
<preference name="orientation" value="landscape" />

4

सबसे पहले, आपको कॉर्डोवा स्क्रीन ओरिएंटेशन प्लगइन का उपयोग करके जोड़ना होगा

cordova plugin add cordova-plugin-screen-orientation

और फिर जोड़ने screen.lockOrientation('portrait');के लिए .run()विधि

angular.module('myApp', [])
.run(function($ionicPlatform) {

    screen.lockOrientation('portrait');
    console.log('Orientation is ' + screen.orientation);

});
})

2

अपने कोणीय के अंदर दिखाए गए बाइल की तरह app.jsलाइन जोड़ें screen.lockOrientation('portrait');:

एक

angular.module('app', ['ionic'])
.run(function($ionicPlatform) {
    // LOCK ORIENTATION TO PORTRAIT.
    screen.lockOrientation('portrait');
  });
})

.runफ़ंक्शन में आपके पास अन्य कोड भी होंगे , लेकिन आप जिस पर रुचि रखते हैं, वह वह रेखा है जो मैंने लिखा था। मैंने <preference name="orientation" value="portrait" />अपने कोड में लाइन नहीं जोड़ी है , लेकिन आपको जोड़ने की आवश्यकता हो सकती हैcordova-plugin-device-orientation


2

कृपया फ़ाइल को Android के लिए गतिविधि टैग की विशेषता के रूप android:screenOrientation="portrait"में जोड़ें androidManifest.xml

<activity
        android:name="com.example.demo_spinner.MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
</activity>


0

आप यह कोशिश कर सकते हैं: -

कॉर्डोबा प्लगइन आईओएस, एंड्रॉइड, डब्ल्यूपी 8 और ब्लैकबेरी 10. के लिए स्क्रीन ओरिएंटेशन को एक सामान्य तरीके से सेट / लॉक करने के लिए है। यह प्लगइन स्क्रीन ओरिएंटेशन एपीआई के शुरुआती संस्करण पर आधारित है, इसलिए एपीआई वर्तमान में वर्तमान युक्ति से मेल नहीं खाता है।

https://github.com/apache/cordova-plugin-screen-orientation

या xml config में इस कोड का प्रयास करें: -

<preference name="orientation" value="portrait" />
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.