Запуск приложения Android на весь экран и пейзаж

Я видел определенные приложения, особенно большинство игр (например, Angry Birds, Temple Run и т.д.), которые запускаются полноэкранным и в альбомном режиме при запуске. Их ориентация никогда не меняется, и они никогда не выходят из полноэкранного режима при касании экрана. Как это сделано? Какие свойства мне нужно изменить или код?

Ответ 1

Если вы предпочитаете использовать XML, вы можете изменить AndroidManifest.xml:

<activity android:name="..."
    android:screenOrientation="landscape"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

</activity>

Если вы нацеливаете Android SDK 9 или выше, вы можете использовать sensorLandscape вместо landscape, что будет означать, что экран будет выглядеть правильно на и нормальной ориентации ландшафта и наоборот ландшафтной ориентации.

Ответ 2

import android.view.Window;
import android.view.WindowManager;
import android.content.pm.ActivityInfo;

@Override public void onCreate(Bundle savedInstanceState)
{
    ...

    // Set window fullscreen and remove title bar, and force landscape orientation
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    ...
}

Решение вашей проблемы

Ответ 3

Проблема решена и, основываясь на ответах, приведенных выше, я сделал это,

Шаг 1: В файле manifest.xml

<application
. . .
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
. . .
</application>

Шаг 2: В файле Java я сделал следующие изменения:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
   }

и теперь мое приложение работает в полноэкранном режиме, без каких-либо проблем. Спасибо всем.

Ответ 5

Поместите это в onCreate() в каждый класс активности (экраны):

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);

Этот код отключит панель уведомлений Android (тянуть вниз).!!!