web-dev-qa-db-ger.com

Ich möchte meine Bewerbung nur im Querformat in android

Ich möchte, dass meine App nur im Querformat funktioniert, kann sie jedoch nicht aktivieren. Ich habe gegeben screenOrientation = "landscape", obwohl sich die erste Seite im Querformat befindet und andere Aktivitäten im Hochformat ausgeführt werden.

XML-DATEI

<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);
        }
    };
}
48
shripal

Behalten Sie diesen Teil des Manifests bei, wie er bereits ist. Betrachten Sie beispielsweise die IntroHome-Aktivität.

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

Stellen Sie für das Aktivitäts-XML sicher, dass sich das IntroHome-Aktivitätslayout-XML nur im Ordner layout-land befindet. Auf diese Weise wird in den Aktivitäten nur die von Ihnen definierte Landscape-Version des XML angezeigt.

77
Siddharth Lele

Sie können je nach Anforderung den folgenden Code verwenden:

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

sie müssen diesen Code vor setContentView(R.layout.layout_name.xml) setzen.

3
Sudipta Som

Sie können auch versuchen, die Ausrichtung in Ihrem Code festzulegen

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

Überprüfen Sie diesen Link für weitere Informationen

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

3
DeRagan

Versuchen Sie Folgendes hinzuzufügen:

Android:configChanges="orientation|keyboardHidden"

Lass es mich wissen, wenn es hilft !! Nur eine Vermutung!!

1
Prateek Jain