Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में स्क्रीन ओरिएंटेशन चेंज को इग्नोर करना

Android ऐप में स्क्रीन रोटेशन लॉक करना

यह उदाहरण दर्शाता है कि Android ऐप को केवल पोर्ट्रेट मोड तक सीमित कैसे करें, ताकि डिवाइस घुमाने पर एक्टिविटी रिक्रिएट न हो और UI लेआउट स्थिर रहे।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें और प्रोजेक्ट बनाएं।

चरण 2: लेआउट

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

चरण 3: MainActivity.java - कोड में ओरिएंटेशन लॉक

package com.app.sample;

import androidx.appcompat.app.AppCompatActivity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // प्रोग्रामेटिकली पोर्ट्रेट मोड लॉक करें
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}

चरण 4: AndroidManifest.xml - Manifest में लॉक (अनुशंसित)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.app.sample">
    
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
    <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>

दोनों तरीकों की तुलना

तरीकाफायदेनुकसान
Manifest: android:screenOrientationएक्टिविटी बनने से पहले लागू, कोई फ्लिकर नहींकम लचीला
कोड: setRequestedOrientation()रनटाइम पर डायनामिक बदलाव संभवएक्टिविटी बनने के बाद लागू, संक्षिप्त फ्लिकर संभव

उपलब्ध स्क्रीन ओरिएशन मान

  • portrait - केवल पोर्ट्रेट
  • landscape - केवल लैंडस्केप
  • sensor - सेंसर आधारित (ऑटो-रोटेट)
  • user - यूज़र की वर्तमान प्राथमिकता
  • behind - स्टैक में नीचे वाली एक्टिविटी के समान
  • nosensor - सेंसर अनदेखा करें
  • fullSensor - सभी 4 ओरिएशन अनुमति
  • locked - वर्तमान ओरिएशन लॉक करें (API 18+)

रनटाइम पर ओरिएंटेशन बदलना

// लैंडस्केप में स्विच करें
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

// ऑटो-रोटेट सक्षम करें
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

// वर्तमान ओरिएशन लॉक करें
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);

कॉन्फिगरेशन चेंज खुद हैंडल करना (एडवांस्ड)

यदि आप ओरिएंटेशन चेंज होने देना चाहते हैं लेकिन एक्टिविटी रिक्रिएट नहीं करना चाहते:

<activity
    android:name=".MainActivity"
    android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
    android:screenOrientation="portrait">

फिर onConfigurationChanged() ओवरराइड करें।

ऐप चलाएं

डिवाइस कनेक्ट करें, Run पर क्लिक करें। डिवाइस घुमाने पर भी ऐप पोर्ट्रेट मोड में ही रहेगा।

  1. Android पर ठीक से मल्टीटास्क कैसे करें Android पर ठीक से मल्टीटास्क कैसे करें

    Android सबसे बहुमुखी ऑपरेटिंग सिस्टम में से एक है, लेकिन इसमें कुछ ऐसा है जिसकी कमी हमेशा खलती रही है - मोबाइल डिवाइस के साथ समानार्थी होने के बावजूद - उचित मल्टीटास्किंग कार्यक्षमता। यह छोटी स्क्रीन पर इतना सुविधाजनक नहीं लगता, लेकिन वास्तविकता यह है कि अब ऐसे ऐप्स और लो-की Android फीचर्स हैं जो इ

  1. Android में किसी ऐप की स्क्रीन को पिन कैसे करें Android में किसी ऐप की स्क्रीन को पिन कैसे करें

    यदि आपका कोई मित्र आपका फोन उधार लेना चाहता है ताकि वह ऐप्स में से एक का उपयोग कर सके, तो संभावना है कि आप नहीं चाहेंगे कि वह फोन के अन्य हिस्सों का पता लगाए। Android स्मार्टफोन आपको ऐप की स्क्रीन को पिन करने की अनुमति देकर इसके खिलाफ सुरक्षा प्रदान करते हैं ताकि आपका मित्र केवल वही ऐप उपयोग कर सके

  1. एंड्रॉइड ऐप आइकन कस्टमाइज़ करना: एक सरल चरण-दर-चरण गाइड एंड्रॉइड ऐप आइकन कस्टमाइज़ करना: एक सरल चरण-दर-चरण गाइड

    Android ऑपरेटिंग सिस्टम के बारे में सबसे अच्छी बात यह है कि यह अत्यधिक कस्टमाइज़ेबल है। उन ऐप्स से जिन्हें आप अपने डिवाइस पर रखना चुनते हैं, समग्र इंटरफ़ेस, ट्रांज़िशन, सामान्य उपस्थिति, और यहां तक कि आइकन तक, सब कुछ बदला जा सकता है। यदि आप अपने फोन के वर्तमान लुक से ऊब महसूस कर रहे हैं, तो आगे बढ़े