- Android: создание полноэкранного приложения
- 8 ответов
- Полноэкранная активность в Android?
- 25 ответов:
- I. ваша главная тема приложения —тема.Совместимости приложений.Свет.DarkActionBar
- второй. Ваша главная тема приложение тема.Совместимости приложений.Свет.NoActionBar
- Создание полноэкранного приложения в Android Studio
- Полноэкранный режим в Android?
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- II. Ваша основная тема приложения — Theme.AppCompat.Light.NoActionBar
- Ответ 13
- Ответ 14
- Ответ 15
- Ответ 16
- Ответ 17
- Ответ 18
- Ответ 19
- Ответ 20
- Ответ 21
- Ответ 22
- Ответ 23
- Ответ 24
- Ответ 25
- Ответ 26
- Ответ 27
- Полноэкранный режим в Android?
- 30 ответов
- I. Ваше основное приложение — это тема Theme.AppCompat.Light.DarkActionBar .
- II. Основная тема вашего приложения — Theme.AppCompat.Light.NoActionBar .
- Для Androidx
- 1. Прозрачная строка состояния
- 2. Прозрачная строка состояния и нижняя панель навигации.
- 3. Скрыть строку состояния
- 4. Скрыть панель Statubar и Bottomnav.
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?
Как сделать активность в полноэкранном режиме? Я имею в виду без панели уведомлений. Есть идеи?
25 ответов:
вы можете сделать это программно:
или вы можете сделать это через свой AndroidManifest.xml file:
Edit:
если вы используете AppCompatActivity, то вам нужно установить тему, как показано ниже
есть техника под названием Захватывающий Полноэкранный Режим в наличии KitKat.
если вы не хотите использовать тему @android:style/Theme.NoTitleBar.Fullscreen потому что вы уже используете собственную тему, вы можете использовать android:windowFullscreen .
на AndroidManifest.xml file:
или Java код:
Если вы используете AppCompat и ActionBarActivity, то используйте это
Если вы используете какой-либо метод, чтобы установить панель действий следующим образом:
это вызовет исключение нулевого указателя.
попробуйте это с appcompat от style.xml . Он может поддерживать все платформы.
Примечание: В моем случае я должен был использовать name=»windowActionBar» вместо name=»android:windowActionBar» прежде чем он нормально работал. Поэтому я просто использовал оба, чтобы убедиться, что в случае, если мне нужно перенести на новую версию Android позже.
I. ваша главная тема приложения —тема.Совместимости приложений.Свет.DarkActionBar
для скрытия ActionBar / StatusBar
стиль.xml
для скрыть панель навигации системы
второй. Ваша главная тема приложение тема.Совместимости приложений.Свет.NoActionBar
для скрытия панели действий / Строка состояния
стиль.xml
для скрыть панель навигации системы
как как Theme.AppCompat.Light.DarkActionBar .
совет: использование getWindow ().setLayout() может испортить ваш полноэкранный дисплей! Примечание в документации на этот метод говорит:
установите параметры макета ширины и высоты окна. вы можете изменить их . абсолютное значение для создания окна, которое не является полноэкранным.
для моих целей, я обнаружил, что я должен был использовать setLayout с абсолютными параметрами для правильного изменения размера моего полноэкранного окна. Большую часть времени, это работало нормально. Он был вызван событием onConfigurationChanged (). Однако тут возникла икота. Если пользователь вышел из приложения, изменил ориентацию и вернулся, это приведет к запуску моего кода, который включал setLayout(). Во время этого окна времени повторного входа моя строка состояния (которая была скрыта манифестом) будет повторно отображаться, но в любое другое время setLayout() не вызовет этого! Решение состояло в том, чтобы добавить дополнительный вызов setLayout () после одного с жесткими значениями, такими как:
затем окно было правильно изменено, и строка состояния не появлялась снова независимо от события, которое вызвало это.
Источник
Создание полноэкранного приложения в 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 может последовать и оставаться, а не исчезать. Действительно раздражающая проблема, но эта функция решает эту проблему.
открытый класс MainActivity расширяет AppCompatActivity <
Это мой макет экрана:
Я надеюсь, что это поможет вам
Ответ 25
Ответ 26
Создайте пустое действие и добавьте две строки в onCreate .
Ответ 27
Используйте этот метод после setContentView в onCreate() и передайте объект Window с помощью getWindow().
Этот код будет работать и для надреза экрана. Чтобы проверить полноэкранный режим с надписью, вам необходим Android P, но если у вас телефон с надрезом, перейдите в setting—> Настройка дисплея → Соотношение дисплея приложения —> выберите приложение —> будет два безопасных варианта: Отображение и полный экран, пожалуйста, выберите полный экран и запустите приложение, вы можете увидеть полноэкранный режим также без надобности пирога Android
Источник
Полноэкранный режим в 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
Чтобы скрыть системную панель навигации
Подобно , как 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()
Источник