Как сделать активность на весь экран? Я имею в виду без панели уведомлений. Любые идеи?
606
Как сделать активность на весь экран? Я имею в виду без панели уведомлений. Любые идеи?
Вы можете сделать это программно:
public class ActivityName extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// remove title
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
}
Или вы можете сделать это через ваш AndroidManifest.xml
файл:
<activity android:name=".ActivityName"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
Редактировать:
Если вы используете AppCompatActivity, вам нужно добавить новую тему
<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
а затем использовать его.
<activity android:name=".ActivityName"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>
@android:style/Theme.Holo.Light.NoActionBar.Fullscreen
AppCompatActivity
, вам нужно поставитьrequestWindowFeature
раньшеsuper.onCreate
. В противном случае вы получите:android.util.AndroidRuntimeException: requestFeature() must be called before adding content
В KitKat доступна техника под названием « Иммерсивный полноэкранный режим» .
пример
источник
Если вы не хотите использовать тему,
@android:style/Theme.NoTitleBar.Fullscreen
потому что вы уже используете собственную тему, вы можете использоватьandroid:windowFullscreen
.В AndroidManifest.xml:
В styles.xml:
источник
В файле AndroidManifest.xml :
Или в коде Java :
источник
Если вы используете AppCompat и ActionBarActivity, то используйте эту
getSupportActionBar().hide();
источник
Будь осторожен с
Если вы используете какой-либо метод для установки панели действий следующим образом:
Это вызовет исключение нулевого указателя.
источник
Попробуйте это с appcompat от
style.xml
. Он обеспечивает поддержку для всех платформ.источник
Используя Android Studio (текущая версия 2.2.2 на данный момент) очень легко добавить полноэкранное действие.
Смотрите шаги:
Выполнено!
Теперь у вас есть полноэкранное упражнение, которое легко сделать (см. Класс java и макет упражнения, чтобы узнать, как все это работает)!
источник
Для тех, кто использует AppCompact ... style.xml
Затем введите имя в своем манифесте ...
источник
Сначала вы должны установить тему приложения с помощью «NoActionBar», как показано ниже
Затем добавьте эти строки в полноэкранном режиме.
Он будет скрывать панель действий / панель инструментов, а также строку состояния в вашей полноэкранной активности
источник
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 я получаю ошибку
я решил это используя
источник
requestWindowFeature(Window.FEATURE_NO_TITLE);
раньшеsuper.onCreate(savedInstanceState);
?показать полное погружение:
выйти из режима полного погружения:
источник
Я хотел использовать свою собственную тему вместо @android: style / Theme.NoTitleBar.Fullscreen. Но это не сработало, как упомянул какой-то пост здесь, поэтому я кое-что изменил, чтобы понять это.
В AndroidManifest.xml:
В styles.xml:
Примечание: в моем случае мне пришлось использовать
name="windowActionBar"
вместо того,name="android:windowActionBar"
чтобы работать должным образом. Так что я просто использовал оба, чтобы убедиться, что мне нужно портировать на новую версию Android позже.источник
Вот пример кода. Вы можете включить / выключить флаги, чтобы скрыть / показать определенные части.
Затем вы возвращаетесь в состояние по умолчанию :
Вы можете вызвать вышеуказанные функции из вашего
onCreate
:источник
Котлин
Следуя документации Google, есть простой способ:
Гугл документы
источник
СОВЕТ: Использование getWindow (). SetLayout () может испортить ваш полноэкранный режим! Обратите внимание, что документация для этого метода гласит:
http://developer.android.com/reference/android/view/Window.html#setLayout%28int,%20int%29
Для моих целей я обнаружил, что мне нужно использовать setLayout с абсолютными параметрами, чтобы правильно изменить размер моего полноэкранного окна. В большинстве случаев это работало нормально. Он был вызван событием onConfigurationChanged (). Однако произошел сбой. Если пользователь выйдет из приложения, изменит ориентацию и снова войдет, это приведет к запуску моего кода, который включает setLayout (). В течение этого временного окна повторного входа моя строка состояния (которая была скрыта манифестом) должна была появиться снова, но в любое другое время setLayout () не вызывала бы этого! Решением было добавить дополнительный вызов setLayout () после вызова со сложными значениями, например:
Затем окно правильно изменило размеры, и строка состояния не появилась снова, независимо от события, которое вызвало это.
источник
источник
Внутри styles.xml ...
Это сработало для меня. Надеюсь, это поможет вам.
источник
С kotlin я так и сделал:
Режим погружения
Режим погружения предназначен для приложений, в которых пользователь будет интенсивно взаимодействовать с экраном. Примерами являются игры, просмотр изображений в галерее или чтение постраничного контента, например книги или слайдов в презентации. Для этого просто добавьте следующие строки:
Липкий погружение
В обычном иммерсивном режиме каждый раз, когда пользователь проводит пальцем по краю, система заботится о раскрытии системных панелей - ваше приложение даже не узнает, что произошел жест. Поэтому, если пользователю может понадобиться провести пальцем от края экрана как часть основного опыта приложения - например, когда вы играете в игру, требующую большого количества пролистывания или используя приложение для рисования, - вам следует вместо этого включить «липкий» режим погружения. ,
Для получения дополнительной информации: включить полноэкранный режим
Если вы используете клавиатуру, иногда случается, что StatusBar показывает, когда появляется клавиатура. В этом случае я обычно добавляю это в свой стиль XML
styles.xml
А также эта строка в моем манифесте
источник
Просто вставьте этот код в
onCreate()
методисточник
Это сработало для меня.
источник
источник
Спустя много времени, но безуспешно, я пришел со своим собственным решением, которое схоже с другим разработчиком. Так что, если кому-то она нужна, это моя проблема. Моя системная навигационная панель не скрывалась после звонка. Также в моем случае мне был нужен пейзаж, так что на всякий случай прокомментируйте эту строку и все. Прежде всего создайте стиль
Это мой файл манифеста
Это моя спальш активность
}
И это моя основная деятельность на весь экран. onSystemUiVisibilityChange этот метод является важным, в противном случае главная панель навигации Android после вызова останется и больше не исчезнет. Действительно раздражающая проблема, но эта функция решает эту проблему.
открытый класс MainActivity расширяет AppCompatActivity {
}
Это мой макет заставки:
Я надеюсь, что это поможет вам
источник
https://developer.android.com/training/system-ui/immersive.html
Деятельность :
AndroidManifests:
источник
Создайте пустое действие и добавьте две строки
onCreate
.источник
Используйте этот метод после setContentView в onCreate () и передайте объект Window с помощью getWindow () .
Этот код будет работать и для надреза экрана. Чтобы проверить полноэкранный режим с надписью, вам необходим Android P, но если у вас телефон с надрезом, перейдите к настройке -> Настройка дисплея -> Соотношение дисплея приложения ---> выберите приложение ---> будет два безопасных варианта: Отображение и полный экран, пожалуйста, выберите полный экран и запустите приложение, вы можете увидеть полноэкранный режим также без надобности пирога Android
источник
Чтобы сделать вашу деятельность полноэкранной, сделайте это:
Это скроет панель инструментов и строку состояния.
Но в некоторых случаях вы можете захотеть показать строку состояния с прозрачным фоном, в этом случае сделайте следующее:
Некоторые другие альтернативы, чтобы скрыть панель инструментов вместо
getSupportActionBar().hide()
:<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
Для любителей kotlin почему бы не использовать функции расширения:
Для первого случая:
И позвони до этого
setContentView
:Для второго:
И позвони до этого
setContentView
:источник
На Android 10 у меня ни один не работал.
Но я отлично работал (1-я строка в тексте):
наслаждаться :)
источник
Для отображения содержимого через вырез или область выреза. Это может помочь из документов:
Ключевой вещью для меня была эта линия в стиле деятельности:
Для меня я хотел показать изображение в режиме погружения. Когда я нажимаю на нее, я хочу, чтобы системный интерфейс (статус и навигационные панели) отображался.
Вот мое решение:
1- В Activity, некоторые методы, чтобы показать / скрыть системный интерфейс (статус / навигационные панели)
2- Убедитесь, что это в корневом представлении вашего макета XML
3 - Стиль для полноэкранного режима даст статусу / панелям навигации полупрозрачный фон, когда они появляются:
источник