Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

i want to make my application only in landscape in android

I want to make my app work only in landscape mode but can't make it work. I have given screenOrientation = "landscape" even though the first page will be in landscape mode and other activity will be in portrait.

XML FILE

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Main"
              android:label="@string/app_name"
              android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>     

    </activity>

    <activity android:name=".IntroHome"
              android:label="@string/app_name"
              android:screenOrientation="landscape">
    </activity>

    <activity android:name=".ObjectivesPage"
              android:label="@string/app_name"
              android:screenOrientation="landscape" >
    </activity>

    <activity android:name=".MenuPage"
              android:label="@string/app_name"
              android:screenOrientation="landscape" >
    </activity>
</application>

JAVA CLASS

public class ObjectivesPage extends Activity{

    ImageButton  imgButton;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.objectivespage);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

        imgButton = (ImageButton)findViewById(R.id.buttonCloseNGo);
        imgButton.setOnClickListener(onClickCloseNGo);
    }

    private OnClickListener onClickCloseNGo = new OnClickListener(){

        public void onClick(View v) {
            Intent intent = new Intent(ObjectivesPage.this,MenuPage.class);
            startActivity(intent);
        }
    };
}
like image 617
shripal Avatar asked Dec 30 '10 09:12

shripal


People also ask

How do you make android landscape only?

Add this android:screenOrientation="landscape" to your <activity> tag in the manifest for the specific activity that you want to be in landscape.

How do I make my apps landscape mode?

To create the landscape mode right click on the res folder -> New -> Android Resource Directory. Now one pop up will be prompted. Select Orientation Available Qualifiers and then “>>” icon at right side, then select Landscape under Screen Orientation.


3 Answers

Keep this part of the manifest as it already is. For example, consider the IntroHome activity.

<activity android:name=".IntroHome"            android:label="@string/app_name"            android:screenOrientation="landscape"              > </activity> 

And for the activity XML, make sure you have the IntroHome activity layout XML only in the layout-land folder. This way, the activity / activities you have will only show the the landscape version of the XML that you have defined.

like image 135
Siddharth Lele Avatar answered Sep 22 '22 10:09

Siddharth Lele


You can also try setting the orientation from your code

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

Check this link for more info

http://www.devx.com/wireless/Article/40792/0/page/5

like image 44
DeRagan Avatar answered Sep 24 '22 10:09

DeRagan


You can use following code as per requirement:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); and setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

you have to put these code before setContentView(R.layout.layout_name.xml).

like image 25
Sudipta Som Avatar answered Sep 23 '22 10:09

Sudipta Som