Fullscreen activity android studio пример

Создание полноэкранного приложения в Android Studio

Для начала запустим Android Studio и создадим пустой проект.

Задаем название приложения, пакет и путь, по которому будет лежать проект:

Указываем минимальную версию Android, поддерживаемую нашим приложением. Google рекомендует использовать версию Android 4.0.3, но для наших целей подойдет и Android версии 2:

Выбираем вкладку Add No Activity и нажимаем Finish:

После создания нового проекта должно появиться следующее окно:

Чтобы увидеть дерево текущего проекта (окно слева) нужно нажать на вкладку Project (слева) или Alt+1.

Создаем 2 класса: MyActivity и MyView. Чтобы добавить класс в наш проект нажимаем правой кнопкой мыши на папке app->java->me.graphica.canvasanimation и выбираем пункт меню New->Java Class.

MyView:

MyActivity:

Осталось зарегистрировать MyActivity в манифесте приложения.
app->manifests->AndroidManifest.xml:

Приложение готово. Чтобы проверить его на устройстве необходимо подключить смартфон через usb-кабель к компьютеру и нажать Shift+F10:

Приложение должно выглядеть следующим образом:

Чтобы избавиться от верхней полоски, в файл app->res->values->styles.xml необходимо добавить следующий блок кода:

Но смысла в таком пустом приложении немного. Поэтому наполним его графическими примитивами. Для этого достаточно привести класс MyView к следующему виду:

Теперь наше приложение выглядит так:

Источник

Полноэкранный режим в Android?

Как я могу сделать весь экран действия? Я имею в виду без панели уведомлений. Любые идеи?

ОТВЕТЫ

Ответ 1

Вы можете сделать это программно:

Или вы можете сделать это через файл AndroidManifest.xml :

Редактировать:

Если вы используете AppCompatActivity, вам нужно добавить новую тему

а затем использовать его.

Ответ 2

В KitKat доступна техника под названием » Иммерсивный полноэкранный режим».

Ответ 3

Если вы не хотите использовать тему @android:style/Theme.NoTitleBar.Fullscreen поскольку вы уже используете собственную тему, вы можете использовать android:windowFullscreen .

Ответ 4

В файле AndroidManifest.xml:

Или в Java:

Ответ 5

Если вы используете AppCompat и ActionBarActivity, используйте этот

Ответ 6

Будьте осторожны с

Если вы используете какой-либо метод для установки панели действий следующим образом:

Это приведет к исключению нулевого указателя.

Ответ 7

Попробуйте это с appcompat из style.xml . Он обеспечивает поддержку для всех платформ.

Чтобы скрыть панель навигации системы

II. Ваша основная тема приложения — Theme.AppCompat.Light.NoActionBar

Для скрытия ActionBar/StatusBar
style.xml

Чтобы скрыть панель навигации системы

Подобные как Theme.AppCompat.Light.DarkActionBar .

Ответ 13

Я хотел использовать свою собственную тему вместо использования @android: style/Theme.NoTitleBar.Fullscreen. Но это не работало, как упоминалось выше, поэтому я сделал некоторые настройки, чтобы понять это.

Примечание: в моем случае мне пришлось использовать name=»windowActionBar» вместо name=»android:windowActionBar» , прежде чем он работал правильно. Поэтому я просто использовал оба, чтобы убедиться, что в случае необходимости переносить на новую версию Android позже.

Читайте также:  Плееры для андроида с субтитрами

Ответ 14

Вот пример кода. Вы можете включить/выключить флаги, чтобы скрыть/показать определенные части.

Затем вы возвращаетесь в состояние по умолчанию:

Вы можете вызвать вышеупомянутые функции из вашего onCreate :

Ответ 15

СОВЕТ: Использование getWindow(). setLayout() может испортить полный экран! Обратите внимание, что в документации для этого метода указано:

Задайте параметры макета ширины и высоты окна. вы можете изменить их на. абсолютное значение, чтобы сделать окно, которое не является полноэкранным.

В моих целях я обнаружил, что мне пришлось использовать setLayout с абсолютными параметрами, чтобы правильно изменить полноэкранное окно. Большую часть времени это работало нормально. Он был вызван событием onConfigurationChanged(). Однако была икота. Если пользователь вышел из приложения, изменил ориентацию и снова появился, это привело бы к отключению моего кода, который включал setLayout(). Во время этого временного окна повторного ввода моя строка состояния (которая была скрыта манифестом) была сделана для повторного появления, но в любой другой момент setLayout() не вызвал бы этого! Решение заключалось в том, чтобы добавить дополнительный вызов setLayout() после того, как он имеет такие жесткие значения:

Затем окно правильно изменилось, и строка состояния не появлялась повторно независимо от события, которое вызвало это.

Ответ 16

показать полное погружение:

выйти из режима полного погружения:

Ответ 17

Ответ 18

Это сработало для меня. Надеюсь, это поможет вам.

Ответ 19

С kotlin я так и сделал:

Режим погружения

Режим погружения предназначен для приложений, в которых пользователь будет интенсивно взаимодействовать с экраном. Примерами являются игры, просмотр изображений в галерее или чтение постраничного контента, например книги или слайдов в презентации. Для этого просто добавьте следующие строки:

Липкий погружение

В обычном иммерсивном режиме каждый раз, когда пользователь проводит пальцем по краю, система заботится о раскрытии системных панелей — ваше приложение даже не узнает, что произошел жест. Поэтому, если пользователю может понадобиться провести пальцем от края экрана как часть основного опыта приложения, например, когда вы играете в игру, требующую большого количества перелистывания, или используете приложение для рисования, вы должны вместо этого включить «липкий» режим погружения.,

Для получения дополнительной информации: включить полноэкранный режим

Если вы используете клавиатуру, иногда случается, что StatusBar показывает, когда появляется клавиатура. В этом случае я обычно добавляю это в свой стиль XML

А также эта строка в моем манифесте

Ответ 20

Просто вставьте этот код в onCreate()

Ответ 21

Котлин

Следуя документации Google, есть простой способ:

Ответ 22

Это сработало для меня.

Ответ 23

Ответ 24

После большого количества времени, без каких-либо успехов, я пришел с моим собственным решением, которое прекратилось с другим разработчиком. Так что, если кто-то нуждается в ней, это так. Моя проблема заключалась в том, что системная панель навигации не скрывалась после вызова. Также в моем случае мне нужен был пейзаж, так что на всякий случай прокомментируйте эту строку и все. Прежде всего создайте стиль

Это мой файл манифеста

Это моя активность spalsh

И это моя главная деятельность на весь экран. onSystemUiVisibilityChange thi метод перестает быть важным, в противном случае главная панель навигации Android может последовать и оставаться, а не исчезать. Действительно раздражающая проблема, но эта функция решает эту проблему.

Читайте также:  Android цифровой отпечаток сертификата

открытый класс MainActivity расширяет AppCompatActivity <

Это мой макет экрана:

Я надеюсь, что это поможет вам

Ответ 25

Ответ 26

Создайте пустое действие и добавьте две строки в onCreate .

Ответ 27

Используйте этот метод после setContentView в onCreate() и передайте объект Window с помощью getWindow().

Этот код будет работать и для надреза экрана. Чтобы проверить полноэкранный режим с надписью, вам необходим Android P, но если у вас телефон с надрезом, перейдите в setting—> Настройка дисплея → Соотношение дисплея приложения —> выберите приложение —> будет два безопасных варианта: Отображение и полный экран, пожалуйста, выберите полный экран и запустите приложение, вы можете увидеть полноэкранный режим также без надобности пирога Android

Источник

Android: создание полноэкранного приложения

каково самое простое изменение, которое я могу сделать для нового пустого действия, созданного последней версией Android Studio, чтобы приложение появилось в полноэкранном режиме?

Я хочу создать полноэкранное приложение для Android. Я работаю с Android Studio. этот пост предлагает добавить строку, такую как .

. в AndroidManifest.XML-файл, как показано ниже:

когда я это делаю, приложение компилируется, но это сбой при запуске. Если я удалю строку, приложение будет работать нормально, но с панелью действий и заголовком, Как и другие пользователи.

Это моя первая попытка создать приложение для Android, поэтому мое приложение вряд ли отличается от оригинального примера Hello World.

изменить: Я создал новый проект и внес в него только одно изменение. Вот выдержка из журнала ошибок:

примечание: Я тестирую на старом Samsung SGH-T499Y, под управлением Android 2.2 (Froyo)

8 ответов

вы получаете эту проблему, потому что вы пытаетесь применить android:theme=»@android:style/Theme.Holo.Light.NoActionBar.Fullscreen»> to расширяет ActionBarActivity, который требует применения темы AppCompat.

расширить свою деятельность с Activity , а не ActionBarActivity

возможно, вам придется изменить свой класс Java соответственно немного.

если вы хотите удалить строку состояния тоже, то используйте это перед setContentView(layout) на onCreateView метод

просто добавьте следующий атрибут к текущей теме:

Источник

Полноэкранный режим в Android?

Как сделать действие в полноэкранном режиме? Я имею ввиду без панели уведомлений. Любые идеи?

30 ответов

Вы можете сделать это программно:

Или вы можете сделать это через файл AndroidManifest.xml :

Изменить:

Если вы используете AppCompatActivity, вам необходимо добавить новую тему

А затем использовать его.

В KitKat есть метод, называемый иммерсивным полноэкранным режимом. .

Если вы не хотите использовать тему @android:style/Theme.NoTitleBar.Fullscreen , потому что вы уже используете собственную тему, вы можете использовать android:windowFullscreen .

В файле AndroidManifest.xml :

Или в коде Java :

Если вы используете AppCompat и ActionBarActivity, используйте этот

Будь осторожен с

Если вы используете какой-либо метод для установки панели действий следующим образом:

Это вызовет исключение нулевого указателя.

Попробуйте это с appcompat из style.xml . Он обеспечивает поддержку всех платформ.

Затем введите имя в свой манифест .

AndroidManifest.xml

I. Ваше основное приложение — это тема Theme.AppCompat.Light.DarkActionBar .

Для скрытия ActionBar / StatusBar
style.xml

Чтобы скрыть системную панель навигации

II. Основная тема вашего приложения — Theme.AppCompat.Light.NoActionBar .

Для скрытия ActionBar / StatusBar
style.xml

Чтобы скрыть системную панель навигации

Читайте также:  Install best android apps

Подобно , как Theme.AppCompat.Light.DarkActionBar .

Спасибо за ответ @Cristian, я получал ошибку

android.util.AndroidRuntimeException: requestFeature () необходимо вызывать перед добавлением содержимого

Я решил это используя

Показать Full Immersive:

Выйти из режима полного погружения:

Для Androidx

1. Прозрачная строка состояния

2. Прозрачная строка состояния и нижняя панель навигации.

3. Скрыть строку состояния

4. Скрыть панель Statubar и Bottomnav.

где разместить этот код?

Примечание

  • Я проверил этот код в эмуляторе Pixel 3A
  • Возможно, настройка ОС Android не поддерживается
  • установить стиль

Примечание: в моем случае мне пришлось использовать name=»windowActionBar» вместо name=»android:windowActionBar» , прежде чем он заработал должным образом. Поэтому я просто использовал и то, и другое, чтобы убедиться, что позже мне нужно будет перейти на новую версию Android.

Вот пример кода. Вы можете включить / выключить флаги, чтобы скрыть / показать определенные части.

Затем вы сбрасываете в состояние по умолчанию :

Вы можете вызывать указанные выше функции со своего onCreate :

КОТЛИН

Следуя документу Google, есть простой способ:

СОВЕТ: Использование getWindow (). SetLayout () может испортить полноэкранное отображение! Обратите внимание на документацию по этому методу:

Установите параметры макета ширины и высоты окна . вы можете изменить их на . абсолютное значение, чтобы окно не было полноэкранным.

Для моих целей я обнаружил, что мне нужно использовать setLayout с абсолютными параметрами, чтобы правильно изменить размер полноэкранного окна. В большинстве случаев это работало нормально. Он был вызван событием onConfigurationChanged (). Однако произошла икота. Если пользователь вышел из приложения, изменил ориентацию и снова вошел, это привело бы к срабатыванию моего кода, который включал setLayout (). Во время этого временного окна повторного входа моя строка состояния (которая была скрыта манифестом) должна была появиться снова, но в любое другое время setLayout () не вызовет этого! Решением было добавить дополнительный вызов setLayout () после вызова с такими жесткими значениями:

Затем окно правильно изменило размер, и строка состояния больше не появлялась независимо от события, которое это вызвало.

У меня это сработало.

Это сработало для меня. Надеюсь, это тебе поможет.

С котлином я поступил так:

Иммерсивный режим

Иммерсивный режим предназначен для приложений, в которых пользователь будет активно взаимодействовать с экраном. Примерами являются игры, просмотр изображений в галерее или чтение содержимого с разбивкой на страницы, например книги или слайдов в презентации. Для этого просто добавьте следующие строки:

Липкий иммерсивный

В обычном иммерсивном режиме каждый раз, когда пользователь проводит пальцем от края, система заботится о том, чтобы отобразить системные панели — ваше приложение даже не узнает о том, что жест произошел. Поэтому, если пользователю действительно может потребоваться провести пальцем от края экрана как часть основного взаимодействия с приложением — например, при игре в игру, которая требует большого пальца руки, или при использовании приложения для рисования — вам следует вместо этого включить «липкий» иммерсивный режим. .

Для получения дополнительной информации: Включить полноэкранный режим

В случае, если вы используете клавиатуру, иногда бывает, что StatusBar отображается при появлении клавиатуры. В этом случае я обычно добавляю это в свой стиль xml

А также эту строку в моем манифесте

Просто вставьте этот код в метод onCreate()

Источник

Оцените статью