Как сделать Activity на полный экран (fullscreen activity)


В этом уроке мы рассмотрим как можно сделать Активити на весь экран, а точнее — как сделать так, чтобы layout Активити занимал весь экран. Особенно это часто используется при разработке игр, где каждый участок и без того небольшого экрана на вес золота. Мы рассмотрим два варианта: с отображением статусной строки с уведомлениями и без нее.

Итак, создадим простое приложение.

Макет — res/layout/activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <TextView
        android:text="@string/hello_world"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

Добавьте значения отступов в res/values/dimens.xml

<resources>
    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>

Добавим строковые ресурсы

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">FullScreen</string>
    <string name="hello_world">Hello world!</string>
</resources>

Первый вариант fullscreen Activity — с отображением notifications-бара

package ru.androiddocs.fullscreen;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        
        setContentView(R.layout.activity_main);
    }
}

Здесь мы наследуемся от обычного Activity и используем метод equestWindowFeature(), чтобы «убрать» заголовок. Если запустить, то увидим такую картинку:

Как сделать Activity на полный экран (fullscreen activity)

Теперь уберем и строку с уведомлениями — займем весь экран. Для этого добавим немного кода в метод onCreate()

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

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

    setContentView(R.layout.activity_main);
}

Здесь мы устанавливаем несколько флагов, которые создают нужный эффект. При запуске приложения получаем:

Как сделать Activity на полный экран (fullscreen activity)

Здесь уже нет ничего, только наш layout.

Комментариев: 2 на “Как сделать Activity на полный экран (fullscreen activity)

  1. alex

    Вот именно это искал целую НЕДЕЛЮ!!!!

    Reply
  2. Альберт

    А можно узнать, как еще убрать статус бар?

    Reply

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*