Wie entferne ich die Titelleiste in Android Studio?


88

In meiner App befindet sich diese Titelleiste oben, wo sich das Überlaufmenü befinden würde, aber ich benötige keine Einstellungen und habe nur einen Bildschirm. Wenn ich das Thema wie in vielen anderen Fragen beschrieben ändere, erhalte ich das alte 2.2-Thema. Ich möchte das moderne Thema nur ohne die Bar oben haben.

Antworten:


150

Gehen Sie zu styles.xml und ändern Sie .DarkActionBarfür.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>

wird

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

Wenn Farben für Ihre App irrelevant sind, können Sie sich tatsächlich dafür entscheiden

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

1
Funktioniert wie erwartet. Der Titel ist jedoch auch beim Anzeigen aller aktiven Apps weg.
IAbstract

Wie würden Sie das @IAbstract beheben?
Pablo Biedma

@PabloBiedma: Ich weiß es nicht.
IAbstract

60

In der Manifestdatei Ändern:

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

4
Während dies funktioniert, ist das Bearbeiten der styles.xmlDatei für die meisten möglicherweise eine bessere Option, da bei Verwendung dieser Methode alle Werte ignoriert werden, die möglicherweise unter AppThemein der styles.xmlDatei eingerichtet wurden. Bei der folgenden Lösung, bei der die übergeordnete Klasse durch NoActionBarinnerhalb der styles.xmlDatei ersetzt wird, werden alle bereits vorhandenen Stilinformationen beibehalten, die eingerichtet wurden.
Lemonseed

In diesem Fall wird mein gesamter App-Hintergrund schwarz
Sajid Khan,

24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

funktioniert, onCreate()wenn put before setContentView()aufgerufen wird.

sonst stürzt es ab


6
Dies führt zum Absturz der App. Ich habe die Linie dazwischen gelegt super.onCreate.....und setContentView..... Und es stürzt ab
Nalorin

Dies ist nicht der richtige Weg. Herr Torres erklärte es gut.
Jithin Pavithran

16

In styles.xml Datei ändern DarkActionBar zu 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

Überprüfen Sie dies

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

Dies ist ein Arbeitscode, um die Leiste durch ein Programm selbst auszublenden. Könnte in den Konstruktor onCreate(...)nach den Zeilen super.onCreate(..)und gesetzt setContentView(...)werden, um die Leiste direkt nach dem Start des Programms auszublenden.
Milan Kerslager

9

Das funktioniert bei mir

getSupportActionBar().hide();

7

Ändern Sie in der Manifestdatei Folgendes:

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

6

Dies funktionierte für mich beim values/styles.xmlHinzufügen von Elementen:

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`

6

Gehen Sie zu Projekt -> App -> Haupt -> Res -> Werte -> Styles.xml

Ändern Sie diese Zeile, wenn Sie sie für jede Ansicht löschen möchten

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

zu

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

Wenn Sie es nur für eine Ansicht erstellen möchten, können Sie es in Ihren Manifestdaten ändern. Gehen Sie zu Android -> Manifeste -> AndroidManifest.xml. Gehen Sie wie folgt vor:

  1. Durchsuchen Sie die Ansicht, für die Sie diese Art von Änderung erhalten möchten <activity android:name"...">
  2. Hinzufügen android:theme=""@style/Theme.AppCompat.NoActionBar"

4
  1. öffne styles.xml
  2. einfügen
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

Sie können den Namen ändern = "---------"

  1. Öffnen Sie Androidmaifest.xm

    finde android: theme = "@ style / AppTheme" wechsle zu android: theme = "@ style / no_title"

  2. Klicken Sie in der Menüleiste auf Thema auswählen (grüne Farbe in der Nähe von MainActivity).

    • Klicken Sie auf Projektthema
    • Klicken Sie auf no_title (auf der rechten Seite).
    • OK klicken

4

Für Anfänger wie mich. Mach es einfach, was ich sage. Aus deinem Android-Projekt.

app -> res -> values ​​-> style.xml

Ersetzen Sie diesen Code

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

Genießen.


3

Löschen Sie Folgendes aus activity_main.xml

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"/>

Kontaktieren Sie mich für weitere Hilfe


2

Tun Sie dies in Ihrer Manifest-Datei:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

es wechselt mich zum alten Android-Design (schwarzer Hintergrund, Textfelder mit gelben Rändern ...)
Jonas

versuchen android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"Sie sicherzustellen, dass Sie API-Level min 14 verwenden.
Rustam

Sie können dies für ein Lichtthema verwenden: android: theme = "@ style / Theme.AppCompat.Light.NoActionBar">
XIII

2

this.requestWindowFeature (Window.FEATURE_NO_TITLE);

in onCreate () funktioniert!


2

Versuchen Sie, Stile in NoActionBar zu ändern, wenn dies nicht funktioniert. Fügen Sie diesen Code zu Ihrer Hauptaktivität hinzu

 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

Das funktioniert bei mir, ich hoffe, das funktioniert auch bei Ihnen

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

Am besten verwenden Sie die Aktionsleistenfunktion, setTitle()wenn Sie ein Logo anzeigen oder andere Elemente in Ihrer Aktionsleiste haben möchten, aber den Namen der App nicht sehen möchten. Schreiben Sie diesen Code in MainActivity.java oder an eine beliebige Stelle, an der Sie den Titel ausblenden möchten 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

Auf diese Weise hat Ihre App keinen Grund zum Absturz.


1

Verwenden Sie einfach setTitle(null)oben

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

Der Titel verschwindet, dann können Sie das Logo Ihrer Wahl verwenden .....



1

Ich habe das gleiche Problem wie Sie und löse dieses Problem, indem ich die Klasse ändere, die ich erweitert habe.

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

Ich hoffe das wird dein Problem lösen.


0

In AndroidManifest.xmlIhrer Anwendung finden Sie das android:themeBeispiel auf gesetzt@style/AppTheme

Gehen Sie nun zu styles.xml, suchen Sie das Stil-Tag, stellen Sie sicher, dass der Name auf AppThemeden gleichen android:Theme.Holo.Light.NoActionBar Wert wie im Manifest festgelegt ist, und setzen Sie den übergeordneten Namen auf (tun Sie dies auch in Stilen (v21), wenn Sie ihn in Ihrem Projekt haben).

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <!-- ... -->
</style>


0

try: 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);
}

Willkommen bei Stack Overflow! Bitte antworten Sie nicht nur mit dem Quellcode. Versuchen Sie, eine schöne Beschreibung der Funktionsweise Ihrer Lösung zu geben. Siehe: Wie schreibe ich eine gute Antwort? . Danke
sɐunıɔ ןɐ qɐp

0

Um die Titelleiste (dh die Leiste enthält Ihren App-Namen) einfach aus einer Aktivität zu entfernen, füge ich dieser Aktivität einfach die folgende Zeile hinzu manifests\AndroidManifest.xml:

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

Es sollte jetzt wie folgt aussehen

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

Hoffe es wird nützlich sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.