परिचय
एक्टिविटी की ओरिएंटेशन को वर्तमान ओरिएंटेशन के आधार पर लॉक करने के लिए `setRequestedOrientation()` का उपयोग करें। यह घूर्णन को रोकता है चाहे डिवाइस कैसे भी घुमाया जाए।
कार्यान्वयन
चरण 1: लेआउट (activity_main.xml)
<TextView android:text="Screen Orientation Lock" android:textSize="24sp" android:textStyle="bold" android:layout_centerInParent="true" ... />
चरण 2: MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int currentOrientation = getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
}व्याख्या
- `getResources().getConfiguration().orientation` वर्तमान ओरिएंटेशन देता है।
- `setRequestedOrientation()` उसी ओरिएंटेशन को लॉक कर देता है।
- यह `onCreate()` में किया जाता है ताकि लेआउट फुलाने से पहले ओरिएंटेशन सेट हो।
- सभी डिवाइस पर काम करता है क्योंकि यह सिस्टम कॉन्फ़िगरेशन का उपयोग करता है।
वैकल्पिक: मैनिफेस्ट में
<activity android:name=".MainActivity" android:screenOrientation="portrait" />
यह स्थैतिक रूप से ओरिएंटेशन लॉक करता है (डायनामिक नहीं)।