Как удалить строку заголовка в студии 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(...)линий , чтобы скрыть панели только после запуска программы.
Милан Керслагер


7

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

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >


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"

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

Попробуйте изменить стили на 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);

    }

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

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


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
{}

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


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

попробуйте: 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>

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.