Я могу скрыть панель действий в сотах, используя этот код:
getActionBar().hide();
Но когда открывается клавиатура и пользователь копирует что-либо, панель действий снова отображается. Как я могу навсегда отключить панель действий?
Я могу скрыть панель действий в сотах, используя этот код:
getActionBar().hide();
Но когда открывается клавиатура и пользователь копирует что-либо, панель действий снова отображается. Как я могу навсегда отключить панель действий?
Если вы используете Theme.Holo.Light
и хотите использовать вариант Theme.Holo.Light.NoActionBar
на устройствах до версии 3.2, вы можете добавить это в свой styles.xml
:
<style name="NoActionBar" parent="@android:style/Theme.Holo.Light">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
а затем установите его в качестве темы вашей деятельности:
<activity android:theme="@style/NoActionBar" ... />
<item name="android:windowFullscreen">true</item>
- person Mike Baxter; 21.09.2015
Установив тему активности в манифесте,
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
....
>
ActionBar
.
- person RileyE; 22.05.2013
Я использую следующий код внутри моей функции onCreate:
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
Источник: https://developer.android.com/guide/topics/ui/actionbar.html
<application
.
.
android:theme="@android:style/Theme.Holo.Light.NoActionBar"
. >
может это тебе поможет
С созданным по умолчанию суперклассом Activity для Android Studio является ActionBarActivity
, и тогда ни одно из решений в других ответах не работает. Чтобы решить, просто измените суперкласс:
public class xxxActivity extends ActionBarActivity{
to:
public class xxxActivity extends Activity {
Если вы хотите получить полный экран без actionBar и Title.
Добавьте его в style.xml
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
и используйте стиль в manifest.xml.
android:theme="@style/AppTheme.NoActionBar"
Перейдите в файл styles.xml. Измените этот DarkActionBar на NoActionBar.
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Лучший способ, который я нашел, который дает пользовательские темы и не имеет панели действий, - это создать SuperClass для всех действий в моем проекте и в нем onCreate() вызвать следующую строку кода:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
Это всегда работает для меня. Единственная проблема в этом подходе заключается в том, что вы увидите панель действий на долю секунды при запуске приложения (не действия, а всего приложения).
Вы можете принудительно скрыть панель действий просто:
ActionBar actionbar = getSupportActionBar();
actionbar.hide();
Просто используйте тему по умолчанию, она будет работать хорошо, если установлен полноэкранный режим.
Не используйте тему Holo, и панель действий исчезнет. Этот код у меня работает на API 8+ с поддержкой lib v7:
<style name="NoActionBar" parent="@style/Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
</style>
установите эту тему для своей деятельности:
<activity android:theme="@style/NoActionBar" ... />
и в вашем классе деятельности.
Он работает, даже если он расширяет ActionBarActivity.
Если вам просто нужна тема без панели действий, вы можете использовать вариант «NoActionBar», например. если ваша базовая тема, как показано ниже
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
тогда вы можете использовать
<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
Но если вы хотите сохранить свойства своей основной темы, то есть AppTheme, вы можете сделать, как показано ниже.
<style name="AppThemeNoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
Таким образом, вы можете сохранить все свойства вашей базовой темы, и вам не нужно явно добавлять их в тему NoActionBar :)
В разделе res -> values ->styles.xml
Изменить
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
To
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Вот быстрое решение.
Вы находите файл styles.xml и меняете базовую тему приложения на «Theme.AppCompat.NoActionBar», как показано ниже.
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
</style>
Ниже приведены шаги, чтобы навсегда скрыть панель действий:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
.Теперь замените родительскую тему любой другой темой, в названии которой содержится «NoActionBar».
а. Вы также можете проверить, как выглядит тема, переключившись на вкладку дизайна файла activity_main.xml, а затем опробовав каждую тему, представленную в раскрывающемся списке тем пользовательского интерфейса.
Если ваша MainActivity расширяет AppCompatActivity, убедитесь, что вы используете тему AppCompat.
Введите этот код в свой метод onCreate
перед setContentView
:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);
Я хотел бы опубликовать подход дизайнера к этому, это будет отделять дизайн от вашей бизнес-логики:
Шаг 1. Создайте новый стиль в (res->values->styles.xml): в основном это копия вашей общей схемы с другим родителем — parent="Theme.AppCompat.Light.NoActionBar"
<!-- custom application theme. -->
<style name="MarkitTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowNoTitle">true</item>
</style>
Шаг 2: В своем AndroidManifest.xml добавьте эту тему в нужное действие: например. Я хочу, чтобы моя основная деятельность была без панели действий, поэтому добавьте это, как показано ниже:
<activity android:name=".MainActivity"
android:theme="@style/MarkitTheme">
Это лучшее решение для меня после многих попыток.
в функцию onCreate добавьте следующий код
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
и просто импортируйте android.support.v7.app.ActionBar
Убедитесь, что вы создали новую тему, изменив имя темы по умолчанию в файле styles.xml
на:
<style name="MyTheme" parent="android:Theme.Material.Light.NoActionBar">
а затем измените тему из раскрывающегося списка под вашим main_activity.xml
на то, что вы назвали своей темой.
Используйте это в файле styles.xml
:
<style name="MyTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
Еще одно интересное решение, в котором вы хотите сохранить ViewPager при удалении панели действий, — это иметь стиль, как показано
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/NoActionBarStyle</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="NoActionBarStyle" parent="android:Widget.Holo.ActionBar">
<item name="android:backgroundSplit">@null</item>
<item name="android:displayOptions"></item>
</style>
Именно так большинство приложений Dialer в Android показывают ViewPager без панели действий.
Ссылка: https://github.com/CyanogenMod/android_packages_apps_Dialer
попробуй это в своем манифесте
<activity
android:name=".MainActivity"
android:theme="@android:style/Theme.Holo.NoActionBar"
android:label="@string/app_name" >
Есть два способа отключить ActionBar
в Android.
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
Я использую это решение:
в манифесте внутри вашего тега активности:
android:label="@string/empty_string"
и в strings.xml:
<string name="empty_string">""</string>
Таким образом, вы сохраняете ActionBar (или панель инструментов) с заголовком, но когда Activity создается, заголовок автоматически становится пустым.
Как ни странно, ни один из них не работал у меня при сборке на Nexus 7 под управлением 4.4.2 (API 19). По большей части, по крайней мере, с последней версией Android Studio (1.2.1.1) после создания пустого приложения активности:
android:theme="@style/AppTheme"
находится в элементе приложения, а не в элементе активности. Если бы я удалил приведенный выше код или попытался изменить его на:
android:theme="@android:style/Theme.Holo.Light.NoActionBar"
приложение не запустится... если это происходит с вами, просто зайдите в свой файл styles.xml (res > values > styles.xml) и добавьте .NoTitleBar в конец родительского блока, как этот блок:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
Никаких изменений в файле AndroidManifest не требуется.
В вашем activity_main.xml
вы можете настроить оттуда в строке:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
.......
android:theme="@style/Theme.Design.Light.NoActionBar"
.......
">
Иногда, когда вы видите подобные вещи, Нажмите здесь, здесь вы можете выбрать " Тема noActionBar».
Надеюсь, я помог вам.
Некоторые ответы уже написаны, и если вы не нашли styles.xml
файл в res>values
, то вы можете сделать это, перейдите к res>values>themes>themes.xml
здесь вам нужно добавить эти две строки внутри стиля
<item name="android:windowFullscreen">true</item>
<item name="windowNoTitle">true</item>