Я хочу сделать свое приложение только в ландшафте в андроиде
Я хочу, чтобы мое приложение работало только в ландшафтном режиме, но не может заставить его работать. Я дал screenOrientation = "landscape"
, хотя первая страница будет в ландшафтном режиме, а другая активность будет в портрете.
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);
}
};
}
Ответы
Ответ 1
Сохраните эту часть манифеста, как она есть. Например, рассмотрим активность IntroHome.
<activity android:name=".IntroHome"
android:label="@string/app_name"
android:screenOrientation="landscape"
>
</activity>
И для активности XML убедитесь, что в папке макет-земля имеется только макет активности IntroHome XML . Таким образом, активность/действия, которые у вас есть, будут отображаться только в ландшафтной версии XML, который вы определили.
Ответ 2
Вы также можете попробовать установить ориентацию из своего кода
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Посмотрите эту ссылку для получения дополнительной информации
http://www.devx.com/wireless/Article/40792/0/page/5
Ответ 3
Вы можете использовать следующий код в соответствии с требованием:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
и
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
вам нужно поставить этот код до setContentView(R.layout.layout_name.xml)
.
Ответ 4
Попробуйте добавить:
android:configChanges="orientation|keyboardHidden"
Сообщите мне, если это поможет! Просто угадай!
Ответ 5
Это похоже на старое сообщение, но мне кажется, что если вы установите режим в альбомный файл, а затем переключите режим в альбомный в java-коде, вы можете переключить режим, дважды вызывающий устройство для рендеринга в портретном режиме. Попробуйте комментировать код в своем java файле и посмотрите, что произойдет. Если он не работает, все, что вам нужно сделать, это изменить его. Легкое испытание на прочность.