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

Kotlin का उपयोग करके एंड्रॉइड में ओरिएंटेशन चेंज कैसे डिटेक्ट करें?

परिचय

यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके एंड्रॉइड में onConfigurationChanged() को ओवरराइड करके ओरिएंटेशन चेंज (पोर्ट्रेट/लैंडस्केप) कैसे डिटेक्ट किया जाए।

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

Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2: लेआउट XML कॉन्फ़िगर करें

res/layout/activity_main.xml में निम्नलिखित कोड जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="Tutorials Point"
        android:textAlignment="center"
        android:textColor="@android:color/holo_green_dark"
        android:textSize="32sp"
        android:textStyle="bold" />

    <TextView
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="हैलो वर्ल्ड!"
        android:textSize="24sp"
        android:textStyle="bold" />

</RelativeLayout>

चरण 3: Kotlin कोड लागू करें

src/MainActivity.kt में निम्नलिखित कोड जोड़ें:

import android.content.res.Configuration
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
    }

    override fun onConfigurationChanged(newConfig: Configuration) {
        super.onConfigurationChanged(newConfig)
        when (newConfig.orientation) {
            Configuration.ORIENTATION_LANDSCAPE -> 
                Toast.makeText(baseContext, "लैंडस्केप मोड", Toast.LENGTH_SHORT).show()
            Configuration.ORIENTATION_PORTRAIT -> 
                Toast.makeText(baseContext, "पोर्ट्रेट मोड", Toast.LENGTH_SHORT).show()
        }
    }
}

चरण 4: मैनिफेस्ट में कॉन्फिग चेंज हैंडल करें

androidManifest.xml में एक्टिविटी में android:configChanges एट्रिब्यूट जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.q11">

    <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:configChanges="orientation|screenSize|screenLayout|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

ऐप चलाएं

अपने एंड्रॉइड डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और डिवाइस को घुमाकर ओरिएंटेशन चेंज टेस्ट करें।

महत्वपूर्ण नोट्स

  • android:configChanges के बिना, ओरिएंटेशन चेंज पर एक्टिविटी रीक्रिएट होती है (onDestroy → onCreate)
  • android:configChanges के साथ, एक्टिविटी रीक्रिएट नहीं होती, केवल onConfigurationChanged() कॉल होता है
  • API 13+ (एंड्रॉइड 3.2+) पर screenSize और screenLayout भी आवश्यक हैं
  • ViewModel/LiveData का उपयोग करके कॉन्फिग चेंज पर डेटा संरक्षित करना बेहतर अभ्यास है
  1. Android में ओरिएंटेशन चेंज कैसे हैंडल करें? Android में ओरिएंटेशन चेंज कैसे हैंडल करें?

    एंड्रॉइड में ओरिएंटेशन चेंज हैंडलिंग यह उदाहरण Android में ओरिएंटेशन चेंज हैंडल करने को दर्शाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं। चरण 2: res/layout/activity_main.xml में कोड जोड़ें <?xml version=1.0 encoding

  1. Android में बटन का उपयोग करके स्क्रीन ओरिएंटेशन प्रोग्रामेटिक रूप से कैसे बदलें Android में बटन का उपयोग करके स्क्रीन ओरिएंटेशन प्रोग्रामेटिक रूप से कैसे बदलें

    परिचय`setRequestedOrientation()` का उपयोग करके एक्टिविटी की ओरिएंटेशन को रनटाइम पर बदला जा सकता है। यह लेख दो बटनों के साथ पोर्ट्रेट और लैंडस्केप मोड के बीच स्विच करने का उदाहरण दिखाता है।कार्यान्वयनचरण 1: लेआउट (activity_main.xml)<Button android:id=@+id/buttonSetPotrait android:text=Click here c

  1. Android में ओरिएंटेशन चेंज कैसे डिसेबल करें? Android में ओरिएंटेशन चेंज कैसे डिसेबल करें?

    यह उदाहरण दर्शाता है कि Android ऐप में स्क्रीन ओरिएंटेशन को फिक्स (पोर्ट्रेट या लैंडस्केप) कैसे किया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=