एंड्रॉइड में लैंडस्केप मोड विशेष रूप से जांचना
यह ट्यूटोरियल दिखाता है कि केवल लैंडस्केप ओरिएंटेशन का पता कैसे लगाएं। पिछले आर्टिकल के समान है लेकिन केवल लैंडस्केप पर फोकस करता है।
चरण 1-2: प्रोजेक्ट और लेआउट
पिछले आर्टिकल (ID 1005061169) के समान - ConstraintLayout में TextView।
चरण 3: MainActivity कोड (java/MainActivity.java)
package com.example.myapplication;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
TextView conf;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
conf = findViewById(R.id.conf);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
conf.setText("यह लैंडस्केप मोड है");
}
// पोर्ट्रेट पर कुछ नहीं करते - पिछला टेक्स्ट रहता है
}
}
चरण 4: AndroidManifest.xml
पिछले आर्टिकल के समान - android:configChanges="orientation|screenSize|keyboardHidden"
बेहतर दृष्टिकोण: दोनों मोड हैंडल करें
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
String msg = (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
? "लैंडस्केप मोड"
: "पोर्ट्रेट मोड";
conf.setText(msg);
}
उपयोग केस
- वीडियो प्लेयर - लैंडस्केप पर फुलस्क्रीन
- गेम्स - लैंडस्केप-ओनली लॉक
- डैशबोर्ड - लैंडस्केप पर मल्टी-कॉलम लेआउट
- कैमरा ऐप्स - ओरिएंटेशन-आधारित UI
प्रोग्रामेटिक ओरिएंटेशन लॉक
// केवल लैंडस्केप setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // केवल पोर्ट्रेट setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // सेंसर-आधारित (ऑटो-रोटेट) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
ऐप टेस्ट करें
डिवाइस को लैंडस्केप में घुमाएं - "लैंडस्केप मोड" दिखेगा। पोर्ट्रेट पर वापस घुमाने पर टेक्स्ट नहीं बदलेगा (यह कोड केवल लैंडस्केप जांचता है)।