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.

Jonas
quelle

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" />
Herr Torres
quelle
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"
Tarek Ezzat Abdallah
quelle
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

Ivo Robotnik
quelle
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>

Kamesh Kumar Singh
quelle
13

Überprüfen Sie dies

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();
Manmohan Kumar
quelle
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();
B.ÖNER
quelle
7

Ändern Sie in der Manifestdatei Folgendes:

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

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

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`
Roger Casagrande
quelle
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"
Zitro
quelle
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
สาธิต งาม เมือง
quelle
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.

MD.JULHAS HOSSAIN
quelle
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

Claude
quelle
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">
Rustam
quelle
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!

Jonas
quelle
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);

    }
RajaSekar
quelle
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);
}
ShehrozEK
quelle
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.

Perhpethua
quelle
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 .....

Bhupinder Singh
quelle
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.

Tee Yi Heng
quelle
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>
Ayham Rustom
quelle
0

Rufen Sie setTitle(null);einfach onCreate () auf

Mina Fawzy
quelle
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);
}
Khaled
quelle
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.

Gregorio
quelle