Как удалить строку заголовка в студии Android?

88

В моем приложении эта строка заголовка находится вверху, там, где должно быть дополнительное меню, но мне не нужны настройки, и у меня только один экран. Когда я меняю тему, как описано во многих других вопросах, я получаю старую тему 2.2. Я хочу иметь современную тему только без панели наверху.

Йонас
источник

Ответы:

150

Перейдите в styles.xml и измените его .DarkActionBarна.NoActionBar

<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="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

если цвета не имеют отношения к вашему приложению, вы можете выбрать

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" />
Г-н Торрес
источник
1
Работает как положено. Однако заголовок также пропадает при просмотре всех активных приложений.
IAbstract
как бы вы исправить этот @IAbstract?
Пабло Биедма,
@PabloBiedma: Не знаю.
IAbstract
60

В файле манифеста Изменить:

    android:theme="@style/AppTheme" >
    android:theme="@style/Theme.AppCompat.NoActionBar"
Тарек Эззат Абдаллах
источник
4
Хотя это работает, редактирование styles.xmlфайла может быть лучшим вариантом для большинства, поскольку при использовании этого метода игнорируются любые значения, которые могли быть установлены AppThemeв styles.xmlфайле. Приведенное ниже решение, которое заменяет родительский класс на NoActionBarвнутри styles.xmlфайла, сохраняет любую ранее существовавшую информацию о стилях, которая была настроена.
Lemonseed 01
В этом случае весь фон моего приложения станет черным
Саджид Хан
24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

работает onCreate()при setContentView()вызове перед .

иначе он выйдет из строя

Иво Роботник
источник
6
Это вызывает сбой приложения. Я поставил линию между ними, super.onCreate.....и setContentView..... он вылетает
Nalorin
Это неправильный способ. Мистер Торрес хорошо это объяснил.
Jithin Pavithran
16

В файле styles.xml измените DarkActionBar на NoActionBar

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

Камеш Кумар Сингх
источник
13

Проверь это

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();
Манмохан Кумар
источник
Это рабочий код для скрытия панели самой программой. Может быть помещены в конструкторе onCreate(...)после super.onCreate(..)и setContentView(...)линий , чтобы скрыть панели только после запуска программы.
Милан Керслагер
9

Это работает для меня

getSupportActionBar().hide();
Б.ЁНЕР
источник
7

В файле манифеста измените на это:

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
XIII
источник
6

Это работало для меня при values/styles.xmlдобавлении элементов:

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`
Роджер Касагранде
источник
6

Перейдите в Project -> app -> main -> res -> values ​​-> styles.xml

Измените эту строку, если хотите удалить ее для каждого просмотра

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

к

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

если вы хотите сделать это только для одного представления, вы можете изменить его в своих данных манифеста. Заходим в Android -> манифесты -> AndroidManifest.xml. сделать следующее:

  1. Найдите представление, в котором вы хотите получить изменения этого типа <activity android:name"...">
  2. Добавить android:theme=""@style/Theme.AppCompat.NoActionBar"
Zitro
источник
4
  1. открыть styles.xml
  2. вставить
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

вы можете изменить name = "---------"

  1. откройте Androidmaifest.xm

    найти android: theme = "@ style / AppTheme" измененный на android: theme = "@ style / no_title"

  2. нажмите выбрать тему в строке меню (зеленый цвет рядом с MainActivity)

    • нажмите тема проекта
    • щелкните no_title (справа от вас)
    • нажмите ОК
สาธิต งาม เมือง
источник
4

Для начинающих, как я. Просто делайте то, что я говорю. Из вашего Android-проекта.

приложение -> res -> значения -> style.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>

Наслаждаться.

Доктор медицины ЮЛХАС ХОССЕЙН
источник
2

сделайте это в своем файле манифеста:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
Рустам
источник
он переключает меня на старый дизайн Android (черный фон, текстовые поля с желтыми рамками ...)
Джонас
попробуйте android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"убедиться, что вы используете уровень API мин. 14.
Рустам
Вы можете использовать это для светлой темы: android: theme = "@ style / Theme.AppCompat.Light.NoActionBar">
XIII
2

this.requestWindowFeature (Window.FEATURE_NO_TITLE);

в onCreate () работает!

Йонас
источник
2

Попробуйте изменить стили на NoActionBar, если это не сработает, добавьте этот код в основное действие

 protected void onCreate(Bundle savedInstanceState) {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
        setContentView(R.layout.activity_main);

    }
RajaSekar
источник
2

Это работает для меня, я надеюсь, что это сработает и для вас

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main);
}
ШехрозЭК
источник
1

Лучший способ - использовать функцию панели действий, setTitle()если вы хотите показать логотип или иметь что-то другое в панели действий, но не хотите видеть имя приложения, напишите этот код в MainActivity.java или в любом другом месте, где вы хотите скрыть заголовок onCreate:

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setIcon(R.mipmap.full_white_logo_m); // display logo
actionBar.setTitle(""); // hide title

Таким образом, у вашего приложения не будет причин для сбоя.

Perhpethua
источник
1

Просто используйте setTitle(null)выше

toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

Заголовок исчезнет, ​​и вы сможете использовать логотип по вашему выбору ...

Бхупиндер Сингх
источник
1

Я столкнулся с той же проблемой, что и вы, и решил эту проблему, просто изменив класс, который я расширил.

//you will get the app that does not have a title bar at the top.
import android.app.Activity;
public class MainActivity extends Activity
{}

//you will get the app that has title bar at top
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity
{}

Надеюсь, это решит вашу проблему.

Футболка Yi Heng
источник
0

В AndroidManifest.xmlвашем приложении вы найдете, android:themeнапример, значение@style/AppTheme

Теперь перейдите к styles.xml, найдите тег стиля, убедитесь, что имя установлено AppThemeтаким же, как в манифесте, и установите для родительского android:Theme.Holo.Light.NoActionBar элемента значение (также сделайте это в стилях (v21), если он у вас есть в вашем проекте)

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <!-- ... -->
</style>
Айхам Рустом
источник
0

Просто позвоните setTitle(null);в onCreate ()

Мина Фаузи
источник
0

попробуйте: toolbar.setTitle ("");

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = findViewById(R.id.toolbar);
    toolbar.setTitle("");
    setSupportActionBar(toolbar);
}
Халед
источник
Добро пожаловать в Stack Overflow! Пожалуйста, не отвечайте только исходным кодом. Постарайтесь дать хорошее описание того, как работает ваше решение. См .: Как мне написать хороший ответ? . Спасибо
sɐunıɔ ןɐ qɐp
0

Чтобы просто удалить строку заголовка (что означает, что строка содержит имя вашего приложения) из действия, я просто добавляю строку ниже к этому действию в manifests\AndroidManifest.xml:

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

Теперь это должно выглядеть так, как показано ниже

<activity
  android:name=".MyActivity"
  android:theme="@style/AppTheme.NoActionBar"></activity>

Надеюсь, это будет полезно.

Грегорио
источник