Как отключить панель действий навсегда

Я могу скрыть панель действий в сотах с помощью этого кода:

getActionBar().hide();

Но когда клавиатура открывается, а пользователь копирует-вставляет что-либо, панель действий снова отображается. Как отключить панель действий навсегда?

Ответ 1

Задав тему активности в манифесте,

<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
....
>

Ответ 2

Если вы используете 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" ... />

Ответ 4

<application
    .
    .
    android:theme="@android:style/Theme.Holo.Light.NoActionBar"
    . >

возможно, это поможет вам

Ответ 5

С суперклассом Activity, установленным по умолчанию для Android Studio, является ActionBarActivity, и тогда ни одно из решений в других ответах не работает. Чтобы решить просто изменить суперкласс:

public class xxxActivity extends ActionBarActivity{

в

public class xxxActivity extends Activity {

Ответ 6

Лучший способ найти пользовательские темы и панель действий - создать SuperClass для всех действий в моем проекте и в нем onCreate() вызвать следующую строку кода -

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

Он всегда работает для меня. Единственная проблема в этом подходе - вы увидите панель действий на долю секунды при запуске приложения (не в действии, в полном приложении).

Ответ 7

Если вы хотите получить полный экран без действийBar и 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" 

Ответ 8

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);
    getSupportActionBar().hide();
}

Ответ 9

Перейти к styles.xml Измените этот DarkActionBar на NoActionBar

style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

Ответ 10

Не используйте тему Голо и панель действий исчезнет. Этот код работает для меня на 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.

Ответ 11

Если вам просто нужна тема без панели действий, вы можете использовать вариант "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:)

Ответ 12

Это быстрое решение.

Вы найдете styles.xml и измените тему базового приложения на "Theme.AppCompat.NoActionBar", как показано ниже.

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <!-- Customize your theme here. -->
</style>

Ответ 13

Вы можете просто скрыть панель действий:

ActionBar  actionbar = getSupportActionBar();
actionBar.hide();

Просто используйте свою тему по умолчанию.

Ответ 14

Под res → values → styles.xml

+ Изменить

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

к

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

Ответ 15

Введите этот код в свой метод onCreate до setContentView:

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);

Ответ 16

Ниже приведены шаги для скрытия панели действий:

  • Откройте приложение /res/values ​​/styles.xml.
  • Ищите элемент стиля, который называется apptheme. Должен смотреть аналогично <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">.
  • Теперь замените родителя на любую другую тему, которая содержит "NoActionBar" в его названии.

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

  • Если ваша MainActivity расширяет AppCompatActivity, убедитесь, что вы используете тему AppCompat.

Ответ 17

Я хотел бы опубликовать скорее подход Designer к этому, это будет держать дизайн отдельно от вашей бизнес-логики:

Шаг 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 добавьте эту тему в нужную вам активность: например. Я хочу, чтобы мое основное действие без action-bar, так что добавьте это, как показано ниже:

<activity android:name=".MainActivity"
            android:theme="@style/MarkitTheme">

Это лучшее решение для меня после многих попыток.

Ответ 18

Убедитесь, что вы создали новую тему, изменив имя темы по умолчанию в файле styles.xml на:

 <style name="MyTheme" parent="android:Theme.Material.Light.NoActionBar">

а затем измените тему из раскрывающегося списка под main_activity.xml на то, что вы назвали своей темой.

Ответ 19

Еще одно интересное решение, в котором вы хотите сохранить 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

Ответ 20

Существует два способа отключения ActionBar в Android.

requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.activity_main); 

Ответ 21

в функции onCreate добавьте следующий код

ActionBar actionBar = getSupportActionBar();
actionBar.hide();

и просто импортируйте файл android.support.v7.app.ActionBar

Ответ 22

попробуйте это в своем манифесте

 <activity
        android:name=".MainActivity"
        android:theme="@android:style/Theme.Holo.NoActionBar"
        android:label="@string/app_name" >

Ответ 23

  protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   android.support.v7.app.ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.hide();
    }
    setContentView(R.layout.activity_main);

Ответ 24

Я использую это решение:

в манифесте, внутри вашего тега активности:

android:label="@string/empty_string"

и в strings.xml:

<string name="empty_string">""</string>

Таким образом, вы сохраняете ActionBar (или панель инструментов) с заголовком, но когда Activity, если созданный заголовок, автоматически пуст.

Ответ 25

Как ни странно, ни один из них не работал у меня, когда я работал над Nexus 7 с 4.4.2 (API 19). По большей части, по крайней мере, с последней версией Android Studio (1.2.1.1) после создания пустого приложения активности:

Android: тема = "@стиль/AppTheme"

находится в элементе приложения, а не в элементе активности. Если я удалил вышеуказанный код или попытался изменить его на:

Android: тема = "@андроид: стиль /Theme.Holo.Light.NoActionBar"

приложение не будет запускаться... если это происходит с вами, просто зайдите в свой файл styles.xml(res > values > styles.xml) и добавьте .NoTitleBar в конец родителя, как этот блок

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>

Никаких изменений в файле AndroidManifest не требуется.

Ответ 26

В вашем 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".

Надеюсь, я помог тебе.