- Ошибка при загрузке темы
- Android Theme.NoTitleBar doesnot work
- 7 Answers 7
- Fullscreen Activity in Android?
- 36 Answers 36
- For Androidx
- 1. Transparent Statusbar
- 2. Transparent Statusbar & Bottomnav bar
- 3. Hide Statusbar
- 4. Hide Statubar & Bottomnav bar
- II. Your main app theme is Theme.AppCompat.Light.NoActionBar
- Полноэкранная активность в Android?
- 25 ответов:
- I. ваша главная тема приложения —тема.Совместимости приложений.Свет.DarkActionBar
- второй. Ваша главная тема приложение тема.Совместимости приложений.Свет.NoActionBar
- Android: theme = «@ android: style / Theme.NoTitleBar.Fullscreen» работает на уровне приложения, но не на уровне активности. Любая подсказка?
Ошибка при загрузке темы
Здравствуйте! Я хотел поменять тему , что в последствии и сделал , но немного не таким образом как я ранее хотел. В итоге остался вопрос , почему у меня не меняется тема так, как она должна меняться ?
Вот варианты которые я пробовал применить, для того что бы поменять тему в программе :
1.Вариант «Вставляем ручками» . Открываем файл — Manifest
И в данном случаи вместо «AppTheme» в этой строке — «android:theme=»@style/ AppTheme » >» вставляем другую тему . Например: «Theme.NoTitleBar.FullScreen» . Это будет выглядеть так — «android:theme=»@style/ Theme.NoTitleBar.FullScreen » > .
Вот код оригинала :
Вариант 1.1
«android:theme=»@style/ Theme.NoTitleBar.FullScreen «
Вариант 1.2
«android:theme=»@android:style/ Theme.NoTitleBar.FullScreen «
Как я понял , ошибка связанна с тем что компилятор не находит в ресурсах данную тему.
Или можно сделать тоже самое , но только с помощь таблицы, в дальнейшем избежав ошибок :
После того как я якобы установил новую тему , пробую ее запускать на эмуляторе , и при запуске программы она вылетает с ошибкой » приложение остановлено» .
А вот лог Errors «виртуальной машины» в Eclipse:
Судя по логу , тут нам говорят что нужно использовать темы связанные с AppCompat ну или наследовать от AppCompat компонента или подобные темы .
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
Так вот , почему у меня выскакивает эта ошибка ? Почему именно с взаимодействием AppCompat я должен использовать темы? Почему нельзя их просто поставить , стандартным образом?
Источник
Android Theme.NoTitleBar doesnot work
I am have a facebook like sliding menu bar in my app in which the two content and main layout of the app is handled by a Custom layout class.
I want to remove the titlebar of my app
Even though I place
in my manifest there is a blank space of title bar. Due to which my whole layout is pushed downwards.
I have tried using
but still the titlebar space is not removed.
This is how the app looks like
I think this is caused due to the Custom LinearLayout class which holds the main sliding layout. But I am unable to remove the titlebar space from the custom layout class. Suggest a better solution.
Custom Layout Class
7 Answers 7
u can specify directly in the manifest file of the activity
Finally I was able to remove the titlebar space. As it turns out, including this tag
on application in manifest made the app fullscreen and corrected the issue. But I wanted the status bar to be visible in my app. So I had to compromise the status bar on the android versions in which the titlebar space was not reduced and let it be same on other versions. So here is how I resolved it.
in Manifest, I kept the code as it is
to remove the titlebar in the app
and in the activity which used the custom linear layout I checked the android version and kept the app fullscreen on versions less than and equal to Gingerbread.
Источник
Fullscreen Activity in Android?
How do I make an activity full screen? Without the notification bar.
36 Answers 36
You can do it programatically:
Or you can do it via your AndroidManifest.xml file:
Edit:
If you are using AppCompatActivity then you need to add new theme
and then use it.
There’s a technique called Immersive Full-Screen Mode available in KitKat.
If you don’t want to use the theme @android:style/Theme.NoTitleBar.Fullscreen because you are already using a theme of you own, you can use android:windowFullscreen .
In AndroidManifest.xml file:
Or in Java code:
If your using AppCompat and ActionBarActivity, then use this
Be careful with
If you are using any method to set the action bar as the follow:
It will cause a null pointer exception.
Try this with appcompat from style.xml . It provides support for all platforms.
Then put the name in your manifest.
For Androidx
1. Transparent Statusbar
2. Transparent Statusbar & Bottomnav bar
3. Hide Statusbar
4. Hide Statubar & Bottomnav bar
where to put this code ?
Note
- I checked this code in Pixel 3A emulator
- Maybe customise android OS not support
- set styel
To hide the system navigation bar
II. Your main app theme is Theme.AppCompat.Light.NoActionBar
For hide ActionBar / StatusBar
style.xml
To hide the system navigation bar
Similar like Theme.AppCompat.Light.DarkActionBar .
thanks for answer @Cristian i was getting error
android.util.AndroidRuntimeException: requestFeature() must be called before adding content
i solved this using
show Full Immersive:
move out of full immersive mode:
I wanted to use my own theme instead of using @android:style/Theme.NoTitleBar.Fullscreen. But it wasn’t working as some post on here had mentioned, so I did some tweaking to figure it out.
Note: in my case I had to use name=»windowActionBar» instead of name=»android:windowActionBar» before it worked properly. So I just used both to make sure in the case I need to port to a new Android version later.
Here is an example code. You can turn on/off flags to hide/show specific parts.
Then, you reset to the default state:
You can call the above functions from your onCreate :
KOTLIN
Following the google doc, there is a easy way :
Add this in styles.xml
And change AndroidManifest file with bellow code
TIP: Using getWindow().setLayout() can screw up your full screen display! Note the documentation for this method says:
Set the width and height layout parameters of the window. you can change them to . an absolute value to make a window that is not full-screen.
For my purposes, I found that I had to use setLayout with absolute parameters to resize my full screen window correctly. Most of the time, this worked fine. It was called by an onConfigurationChanged() event. There was a hiccup, however. If the user exited the app, changed the orientation, and reentered, it would lead to firing off my code which included setLayout(). During this re-entry time window, my status bar (which was hidden by the manifest) would be made to re-appear, but at any other time setLayout() would not cause this! The solution was to add an additional setLayout() call after the one with the hard values like so:
The window then correctly re-sized, and the status bar did not re-appear regardless of the event which triggered this.
Источник
Полноэкранная активность в 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: theme = «@ android: style / Theme.NoTitleBar.Fullscreen» работает на уровне приложения, но не на уровне активности. Любая подсказка?
Мне нужно сделать одно из моих действий под названием MyNoStatusBarActivity.java полноэкранным действием.
Я добавил в манифесте:
И в onCreate моей деятельности:
Выполнение всего этого просто скрывает панель TITLE, а не панель STATUS.
Кроме того, если я использую тему манифеста на уровне приложения вместо своей активности, он работает, но для всех действий моего приложения, которое не то, что я хочу. Я хочу, чтобы строка статуса не отображалась только для одного конкретного действия.
Помощь будет действительно оценена. Thnx!
PS: Я в порядке, это поведение больше не доступно в Honeycomb / ICS. Мне это нужно всего лишь для 2.2 и 2.3
РЕДАКТИРОВАТЬ
Пробовал все предложения, упомянутые в других решениях SO, но пока не успел. Тема работает, когда применяется к уровню приложения, но не относится к уровню активности.
Я использую HTC Wildfire-S, android ver 2.3.5
В вашем манифесте xml, на уровне приложения поставьте это:
И в действии, которое вы хотите сделать в полноэкранном режиме, сделайте следующее:
Удалите все методы setWindowsFeature или setFlag в onCreate.
Я думаю, вам просто нужно взять android:theme=»@android:style/Theme.NoTitleBar.Fullscreen из mainfest, придерживаться только кодового вызова, это всегда сработало для меня. Какое тестовое устройство вы используете?
Также убедитесь, что эти вызовы приходят, прежде чем вы вызываете setContentView(R.layout.xxx) как это
Проверьте весь код для android:theme объявления android:theme , т.е. манифест и отдельные макеты xml-файлов. Поскольку это звучит так, как объявление его на уровне приложения работает (поскольку оно переопределяет любые последующие объявления темы), но есть что-то, переопределяющее ваш запрос уровня активности.
Попробуйте выполнить поиск по всему проекту для «андроида: тема» и удалите все, что вам не нужно на 100%, проверьте его таким образом
Я вложил это в свою деятельность:
И в моем манифесте я не изменяю, это мое, без изменений:
Источник