Подтвердить что ты не робот

Я хочу сделать свое приложение только в ландшафте в андроиде

Я хочу, чтобы мое приложение работало только в ландшафтном режиме, но не может заставить его работать. Я дал 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);
        }
    };
}
4b9b3361

Ответ 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 файле и посмотрите, что произойдет. Если он не работает, все, что вам нужно сделать, это изменить его. Легкое испытание на прочность.