android - करन - प्रतिबंधित मोड दिखाएं




एंड्रॉइड-लैंडस्केप मोड अक्षम करें? (20)

अपनी मैनिफेस्ट फ़ाइल में निम्न स्निपेट जोड़ें।

<activity android:name=".yourActivity"
          ....
          android:screenOrientation="portrait"/>

यह केवल पोर्ट्रेट मोड का समर्थन करता है

मैं अपने एंड्रॉइड ऐप में कुछ विचारों के लिए लैंडस्केप मोड कैसे अक्षम कर सकता हूं?


आप अपनी विशेष गतिविधि को हमेशा अपने manifest.xml में लिखकर पोर्ट्रेट मोड में हमेशा रहने के लिए मजबूर कर सकते हैं

 <activity android:name=".MainActivity"
        android:screenOrientation="portrait"></activity>

आप अपनी गतिविधि को ऑन क्रिएट () विधि में निम्न पंक्ति लिखकर पोस्ट्रेट मोड में रहने के लिए भी मजबूर कर सकते हैं

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_layout);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}

आपको AndroidManifest.xml में एंड्रॉइड android:screenOrientation="sensorPortait" बदलना चाहिए


आपको इस कोड को मैनिफ़ेस्ट फ़ाइल में रखना चाहिए .......

    <activity android:name=".SunderFlowersActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
        >
    </activity>

इस android:screenOrientation="portrait" जोड़ें android:screenOrientation="portrait" अपनी मेनिफेस्ट फ़ाइल में जहां आप अपनी गतिविधि को इस तरह घोषित करते हैं

<activity android:name=".yourActivity"
    ....
    android:screenOrientation="portrait" />

यदि आप जावा कोड का उपयोग करना चाहते हैं तो कोशिश करें

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

इससे पहले कि आप अपनी गतिविधि के लिए setContentView विधि को कॉल करें onCreate()

उम्मीद है कि यह मदद और आसानी से सभी के लिए समझ में आता है ...


उपयोग

android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" 

ऑनक्रेट () विधि के अंदर कक्षा जोड़ें

 setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

किसी और की मदद करने की उम्मीद में, AndroidManifest.xml में ACTIVITY पर निम्न विशेषता आपको चाहिए:

एंड्रॉयड: configChanges = "अभिविन्यास"

तो, पूर्ण गतिविधि नोड:

<activity android:name="Activity1" 
    android:icon="@drawable/icon" 
    android:label="App Name" 
    android:configChanges="orientation">

गतिविधि के क्रिएट () में इसका इस्तेमाल करें

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

बस अपने जीवन में इस लाइन की तरह जोड़ें

एंड्रॉयड: screenOrientation = "चित्र"

<manifest
    package="com.example.speedtestmeter"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name="MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="ComparisionActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

        <activity
            android:name="GaugeView"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

        <activity
            android:name="Resultactivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

    </application>

</manifest>   

बस एंड्रॉइड जोड़ें: स्क्रीन मैरिएंटेशन = "पोर्ट्रेट" एप्लिकेशन मेनिफेस्ट में गतिविधि टैग में।

उदाहरण के लिए:

    <activity android:name=".ui.activities.MainActivity"
       android:screenOrientation="portrait"></activity>

मुझे इस पोस्ट को पढ़ने तक AndroidManifest.xml फ़ाइल स्विच से अवगत नहीं था, इसलिए मेरे ऐप्स में मैंने इसका उपयोग किया है:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);     //  Fixed Portrait orientation

यदि आप Landscape mode for your android app (या एक गतिविधि) के Landscape mode for your android app को अक्षम करना चाहते हैं तो आपको बस इतना करना है,

android:screenOrientation="portrait" AndroidManifest.xml फ़ाइल में गतिविधि टैग के लिए android:screenOrientation="portrait"

पसंद:

<activity android:name="YourActivityName" 
    android:icon="@drawable/ic_launcher" 
    android:label="Your App Name" 
    android:screenOrientation="portrait">

एक और तरीका, प्रोग्रामेटिक दृष्टिकोण।

यदि आप इसे प्रोग्रामिक रूप से यानी करना चाहते हैं। जावा कोड का उपयोग कर। आप उस गतिविधि के जावा क्लास में नीचे कोड जोड़कर ऐसा कर सकते हैं जिसे आप लैंडस्केप मोड में प्रदर्शित नहीं करना चाहते हैं।

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

मुझे आशा है कि यह आपकी मदद करेगा। अधिक जानकारी के लिए आप यहां जा सकते हैं लिंक विवरण यहां दर्ज करें


यदि आप उपयोगकर्ता सेटिंग्स चाहते हैं,

तो मैं setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); अनुशंसा करता हूं setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

आप सेटिंग्स मेनू से सेटिंग्स बदल सकते हैं।

मुझे इसकी आवश्यकता है क्योंकि मेरे टाइमर स्क्रीन पर क्या है इसके अनुरूप होना चाहिए, और स्क्रीन को घूर्णन करने से वर्तमान गतिविधि नष्ट हो जाएगी।


यदि आपकी डिवाइस पहले डिवाइस अभिविन्यास स्थिति से संबंधित है, तो वर्तमान डिवाइस अभिविन्यास onCreate विधि में प्राप्त करें और फिर इसे हमेशा के लिए ठीक करें:

        int deviceRotation = ((WindowManager) getBaseContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getOrientation();

        if(deviceRotation == Surface.ROTATION_0) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
        else if(deviceRotation == Surface.ROTATION_180)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
        }
        else if(deviceRotation == Surface.ROTATION_90)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }
        else if(deviceRotation == Surface.ROTATION_270)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
        }

यह मेरे लिए काम करता है, एंड्रॉइडमैनीफेस्ट फ़ाइल में इस कोड को जोड़ने का प्रयास करें

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme">
        ....
        ....
        </application>

<apphome>/platform/android निर्देशिका में AndroidManifest.xml (जेनरेट किए गए से इसे कॉपी करना) बनाया गया है। फिर android:screenOrientation= जोड़ें android:screenOrientation= " portrait " सभी गतिविधि तत्वों के लिए।


android:screenOrientation="portrait" जोड़ें android:screenOrientation="portrait" AndroidManifest.xml में गतिविधि के लिए android:screenOrientation="portrait" । उदाहरण के लिए:

<activity android:name=".SomeActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait" />

संपादित करें: चूंकि यह एक बेहद लोकप्रिय उत्तर बन गया है, इसलिए मुझे बहुत दोषी लगता है क्योंकि पोर्टिंग मजबूर करना शायद ही कभी उन समस्याओं के लिए सही समाधान है जो इसे अक्सर लागू होते हैं।
मजबूर चित्र के साथ प्रमुख चेतावनी:

  • यह आपको गतिविधि जीवन चक्र घटनाओं या राज्य को सही ढंग से सहेजने / बहाल करने के बारे में सोचने से नहीं रोकता है। एप रोटेशन के अलावा बहुत सी चीजें हैं जो मल्टीटास्किंग जैसी अपरिहार्य चीजों सहित एक गतिविधि विनाश / मनोरंजन को ट्रिगर कर सकती हैं। यहां कोई छोटा रास्ता नहीं है; बंडलों का उपयोग करना सीखें और retainInstance
  • ध्यान रखें कि काफी समान आईफोन अनुभव के विपरीत, ऐसे कई डिवाइस हैं जहां चित्र स्पष्ट रूप से लोकप्रिय अभिविन्यास नहीं है। जब उपयोगकर्ता हार्डवेयर कीबोर्ड या गेम पैड वाले डिवाइस पर होते हैं तो ला लाइड Droid 1-4, एक्सपीरिया प्ले, या एनवीडिया शील्ड, पोर्टिंग को मजबूर करने से आपके ऐप को एक विशाल उपयोगिता परेशानी हो सकती है (विशेष रूप से शील्ड पर)। यदि आपके ऐप में एक बेहद विशिष्ट उपयोग केस नहीं है जो अन्य उन्मुखताओं का समर्थन करने के लिए एक नकारात्मक नकारात्मक अनुभव का कारण बनता है, तो आपको शायद परिदृश्य को मजबूर नहीं करना चाहिए। मैं चीजों के बारे में बात कर रहा हूं, "यह डिवाइस के केवल एक तरफ आईआर ब्लास्टर वाले फोन के लिए एक रिमोट कंट्रोल ऐप है," या "यह निश्चित रूप से निश्चित रूप से टेबलेट के एक विशिष्ट मॉडल के लिए एक नकद रजिस्टर ऐप है हार्डवेयर डॉक। "

इसलिए अधिकांश ऐप्स को फ़ोन सेंसर, सॉफ़्टवेयर और भौतिक कॉन्फ़िगरेशन को अपने स्वयं के फैसले को अवश्य देना चाहिए कि उपयोगकर्ता आपके ऐप से कैसे बातचीत करना चाहता है। कुछ मामलों के बारे में आप अभी भी सोचना चाहेंगे, हालांकि, यदि आप अपने उपयोग मामले में sensor ओरिएंटेशन के डिफ़ॉल्ट व्यवहार से खुश नहीं हैं:

  • यदि आपकी मुख्य चिंता आकस्मिक अभिविन्यास मध्य-गतिविधि को बदलती है जो आपको लगता है कि डिवाइस के सेंसर और सॉफ़्टवेयर अच्छी तरह से सामना नहीं करेंगे (उदाहरण के लिए, झुकाव-आधारित गेम में) परिदृश्य और चित्र का समर्थन करने पर विचार करें, लेकिन अभिविन्यास के लिए nosensor का उपयोग करें। यह अधिकांश फोनों पर अधिकांश टैबलेट और पोर्ट्रेट पर परिदृश्य को मजबूर करता है, लेकिन मैं अभी भी अधिकांश "सामान्य" ऐप्स के लिए इसकी अनुशंसा नहीं करता हूं (कुछ उपयोगकर्ता अपने फोन पर लैंडस्केप सॉफ्टकीबोर्ड में टाइप करना चाहते हैं, और कई टैबलेट उपयोगकर्ता पोर्ट्रेट में पढ़ते हैं - और आपको उन्हें देना चाहिए)।
  • अगर आपको किसी कारण से पोर्ट्रेट को मजबूर करने की आवश्यकता है, तो Android 2.3+ के लिए portrait से sensorPortrait portrait बेहतर हो सकता है; यह ऊपर-नीचे चित्र के लिए अनुमति देता है, जो टैबलेट उपयोग में काफी आम है।

कुछ दृश्यों में अभिविन्यास कैसे बदलें

संपूर्ण गतिविधि के अभिविन्यास को लॉक करने के बजाय आप इस वर्ग का उपयोग अपने किसी भी दृश्य से गतिशील रूप से अभिविन्यास को लॉक करने के लिए कर सकते हैं: -

अपना दृश्य लैंडस्केप बनाएं

OrientationUtils.lockOrientationLandscape(mActivity);

पोर्ट्रेट देखें

OrientationUtils.lockOrientationPortrait(mActivity);

ओरिएंटेशन अनलॉक करें

OrientationUtils.unlockOrientation(mActivity);

कक्षा तक अभिविन्यास

import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Build;
import android.view.Surface;
import android.view.WindowManager;

/*  * This class is used to lock orientation of android app in nay android devices 
 */

public class OrientationUtils {
    private OrientationUtils() {
    }

    /** Locks the device window in landscape mode. */
    public static void lockOrientationLandscape(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
    }

    /** Locks the device window in portrait mode. */
    public static void lockOrientationPortrait(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

    /** Locks the device window in actual screen mode. */
    public static void lockOrientation(Activity activity) {
        final int orientation = activity.getResources().getConfiguration().orientation;
        final int rotation = ((WindowManager) activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay()
                .getRotation();

        // Copied from Android docs, since we don't have these values in Froyo
        // 2.2
        int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8;
        int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9;

        // Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO
        if (!(Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO)) {
            SCREEN_ORIENTATION_REVERSE_LANDSCAPE = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
            SCREEN_ORIENTATION_REVERSE_PORTRAIT = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        }

        if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_90) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            }
        } else if (rotation == Surface.ROTATION_180 || rotation == Surface.ROTATION_270) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                activity.setRequestedOrientation(SCREEN_ORIENTATION_REVERSE_PORTRAIT);
            } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
                activity.setRequestedOrientation(SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
            }
        }
    }

    /** Unlocks the device window in user defined screen mode. */
    public static void unlockOrientation(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);
    }

}

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="in.co.nurture.bajajfinserv">
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>


    <application

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity" android:screenOrientation="portrait">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

हम विशेषता या एंड्रॉइड का उपयोग करके चित्र या लैंडस्केप मोड में गतिविधि को प्रतिबंधित कर सकते हैं: स्क्रीनऑरिएंटेशन।

अगर हमारे पास मेरे कार्यक्रम में एक से अधिक गतिविधियां हैं तो आपको किसी भी गतिविधि में किसी भी गतिविधि को प्रतिबंधित करने की स्वतंत्रता है और यह उन अन्य लोगों को कभी प्रभावित नहीं करता है जिन्हें आप नहीं चाहते हैं।







android-manifest