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);
}
};
}
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.
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.
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
Versuchen Sie Folgendes hinzuzufügen:
Android:configChanges="orientation|keyboardHidden"
Lass es mich wissen, wenn es hilft !! Nur eine Vermutung!!