परिचय
`setRequestedOrientation()` का उपयोग करके एक्टिविटी की ओरिएंटेशन को रनटाइम पर बदला जा सकता है। यह लेख दो बटनों के साथ पोर्ट्रेट और लैंडस्केप मोड के बीच स्विच करने का उदाहरण दिखाता है।
कार्यान्वयन
चरण 1: लेआउट (activity_main.xml)
<Button android:id="@+id/buttonSetPotrait" android:text="Click here change Orientation" android:layout_centerHorizontal="true" android:layout_marginTop="62dp" ... /> <Button android:id="@+id/buttonSetLandscape" android:text="Click here change Orientation" android:layout_centerHorizontal="true" android:layout_marginTop="62dp" ... />
चरण 2: MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnPortrait = findViewById(R.id.buttonSetPotrait);
Button btnLandscape = findViewById(R.id.buttonSetLandscape);
btnPortrait.setOnClickListener(v -> setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT));
btnLandscape.setOnClickListener(v -> setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE));
}
}व्याख्या
- `ActivityInfo.SCREEN_ORIENTATION_PORTRAIT` पोर्ट्रेट मोड बाध्य करता है।
- `ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE` लैंडस्केप मोड बाध्य करता है।
- यह एक्टिविटी को पुनः बनाता है (onDestroy → onCreate), इसलिए स्थिति बचाने के लिए `onSaveInstanceState` का उपयोग करें।