تغییر جهت صفحه به حالت Landscape یا Portrait

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش تغییر جهت صفحه به حالت Landscape یا Portrait می پردازیم زمانی که گوشی در حالت Landscape  یا عمودی قرار میگیرد فضای صفحه بشتری دارد و بیشتر بازی ها هم به صورت Landscape عرض می شوند و حالت Portrait یا افقی که حالت معمول گوشی است در ادامه با ما همراه باشید.
 

 
برای اینکه حالت های Landscape یا Portrait را به گوشی تحمیل کنیم می تونیم از کد زیر استفاده کنیم.
ابتدا در layout خود کد های زیر را قرار دهید نام این layout برابر با activity_main.xml است.

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context=".com.MainActivity" >
 <Button
 android:id="@+id/button2"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_below="@+id/button1"
 android:layout_centerHorizontal="true"
 android:layout_marginTop="14dp"
 android:text="Portrait Mode" />
 <Button
 android:id="@+id/button1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentTop="true"
 android:layout_centerHorizontal="true"
 android:layout_marginTop="156dp"
 android:text="Landscape Mode" />
</RelativeLayout>

در بالا دو دکمه قرار دادیم تا بین این دوتا حالت switch کنیم.
کد مربوط به MainActivity.java همانند زیر می شود.

 package ir.programchi;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
 Button Landscape, Portrait;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 Landscape = (Button)findViewById(R.id.button1);
 Portrait = (Button)findViewById(R.id.button2);
 Landscape.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 }
 });
 Portrait.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 }
 });
 }
}

همانطور که دید به سادگی می شود بین این دو حالت (Landscape و Portrait ) شد در بالا از setRequestedOrientation برای تغییر حالت ( orientation ) صفحه استفاده کردیم.
 
این آموزش هم به پایان رسید.
 
موفق و موید باشید.

مطالعه بیشتر