Я пытаюсь удалить / отключить ActionBar. Я попытался вставить в Манифест:

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

И это не работает. Он не удаляет ActionBar. Помогите, пожалуйста. Спасибо.

26
iYonatan 14 Июл 2014 в 21:55
1
Попробуйте добавить <item name="android:windowContentOverlay">@null</item> в определение темы вашего приложения.
 – 
Lal
14 Июл 2014 в 22:02
Если не помогло, попробуйте и это getWindow().requestFeature(Window.FEATURE_ACTION_BAR); getSupportActionBar().hide();
 – 
Lal
14 Июл 2014 в 22:04
Когда я пишу это, я получаю сообщение об ошибке: getSupportActionBar (). Hide ();
 – 
iYonatan
14 Июл 2014 в 22:12
 – 
iYonatan
14 Июл 2014 в 22:14
Что произойдет, если вы попробуете getActionBar().hide(); ???
 – 
Lal
14 Июл 2014 в 22:16

12 ответов

Лучший ответ

В вашем методе oncreate() используйте это

getActionBar().hide();

Если ваш minSdkVersion 10 или ниже, используйте вместо этого:

getSupportActionBar().hide();
32
JoeBilly 15 Май 2018 в 15:40
6
Когда я это делаю, приложение вылетает при запуске
 – 
PlayHardGoPro
22 Июн 2018 в 22:05
Я тоже получил это, но изменение темы, как показано ниже, тоже помогло мне. Может, что-то изменилось с тех пор, как это было написано.
 – 
Matthew
19 Мар 2020 в 21:36

Навсегда скрыть панель действий из styles.xml Если вы хотите скрыть панель действий во всем приложении (действия, фрагменты) повсюду, вы можете просто перейти к res > values ​​> styles.xml и изменить тему базового приложения, как указано ниже.

 <resources> 
 <! - Base application theme. →
 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
 <! - Customize your theme here. →
 <item name="colorPrimary">@color/colorPrimary</item>
 <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
 <item name="colorAccent">@color/colorAccent</item>
 </style>
</resources>

Скрыть панель действий для определенного действия:

Используйте это в onCreate(); Метод

Котлин:

supportActionBar?.hide()

Ява:

if (getSupportActionBar() != null) {
getSupportActionBar().hide();

}

1
Rehan Khan 21 Фев 2022 в 11:52

Я нашел самый простой способ: если вы перейдете к своему файлу AndroidManifest.xml, вы увидите android:theme="@style/Theme.yourappnamehere", вы можете просто заменить его на android:theme="@style/Theme.AppCompat.Light.NoActionBar". Тада работала как мечта (ничего добавлять не надо)

0
BuddyPal 15 Июн 2021 в 16:43

У меня тоже была эта проблема. Я пошел в styles.xml и изменил

parent="Theme.AppCompat.Light.DarkActionBar" 

К

parent="Theme.AppCompat.Light.NoActionBar"

И это удалило его из всей моей деятельности.

41
Ram 18 Авг 2015 в 20:06
Работал. Спасибо ! <3
 – 
PlayHardGoPro
22 Июн 2018 в 22:06
У меня это тоже сработало. На мой взгляд, это решение.
 – 
GSandro_Strongs
23 Авг 2021 в 22:27

Для студии android вы можете перейти в styles.xml и изменить

parent="Theme.AppCompat.Light.DarkActionBar"

К

parent="Theme.AppCompat.Light.NoActionBar" 

А в Eclipse его можно изменить в файле манифеста

  <activity
        android:name="com.ExcellenceTech.webview.MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" >
6
Nikos Hidalgo 9 Мар 2020 в 17:52

Вы скрываете панель действий разными способами.

1. панель действий скрыта через XML-файл манифеста (программирование не на Java), тогда простой способ - добавить следующий атрибут в тег Activity:

 android:theme="@style/Theme.NoActionBar"

Если создается настраиваемая тема, удобно создать другой стиль, расширяющий настраиваемую тему.

 <item name="android:windowActionBar">false</item>
 <item name="android:windowNoTitle">true</item>

Или

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

getSupportActionBar().hide(); 
  or 
getActionBar().hide();
3
Anjani kumar joshi 15 Май 2018 в 15:49

В разделе AndroidManifest.xml и активности поместите этот код.

android:theme="@style/Theme.AppCompat.Light.NoActionBar"
2
JavaScrap 9 Сен 2015 в 05:17
getActionBar().hide();

Или

getSupportActionBar().hide();

Но изменение может не отображаться в дизайне xml.

1
Vimukthi Sineth 8 Июн 2018 в 09:07

Вы можете использовать функцию hideUi(), как показано ниже, и вызвать ее в методе onCreate() :

private void hideUI() {
    // Hide UI first
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.hide();
    }
    View mContentView = (findViewById(R.id.mainLayout));
// Delayed removal of status and navigation bar
    if (Build.VERSION.SDK_INT >= 30) {
        mContentView.getWindowInsetsController().hide(
                WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
    } else {
        // Note that some of these constants are new as of API 16 (Jelly Bean)
        // and API 19 (KitKat). It is safe to use them, as they are inlined
        // at compile-time and do nothing on earlier devices.
        mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    }
}

Вызовите hideUI() в onCrete() после setContentView() :

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (getSupportActionBar() != null) {
        getSupportActionBar().hide();
    }
    hideUI();
   // ......
}
0
Hamid 20 Июн 2022 в 18:00

Я использовал следующие коды и работают для меня:

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.hide();
    }
    getWindow().setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main);
0
Hamid 6 Июл 2022 в 17:29

Вы можете попробовать это. Меня устраивает

Добавьте его в 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"
14
reza.cse08 12 Ноя 2015 в 15:43
getActionBar().hide();

Я думаю, это должно сработать.

5
rebatoma 12 Ноя 2015 в 16:25