Jak usunąć pasek tytułu w Android Studio?

88

W mojej aplikacji jest ten pasek tytułu u góry, gdzie byłoby przepełnione menu, ale nie potrzebuję ustawień i mam tylko jeden ekran. Kiedy zmieniam motyw, jak opisano w wielu innych pytaniach, otrzymuję stary motyw 2.2. Chcę mieć nowoczesny motyw bez paska na górze.

Jonas
źródło

Odpowiedzi:

150

Przejdź do styles.xml i zmień .DarkActionBarna.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>

staje się

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

jeśli kolory nie mają znaczenia dla Twojej aplikacji, możesz to zrobić

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" />
Panie Torres
źródło
1
Działa zgodnie z oczekiwaniami. Jednak tytuł zniknął również podczas przeglądania wszystkich aktywnych aplikacji.
IAbstract
jak byś naprawił to @IAbstract?
Pablo Biedma
@PabloBiedma: Nie wiem.
IAbstract
60

W pliku manifestu Zmień:

    android:theme="@style/AppTheme" >
    android:theme="@style/Theme.AppCompat.NoActionBar"
Tarek Ezzat Abdallah
źródło
4
Chociaż to działa, edycja styles.xmlpliku może być lepszą opcją dla większości, ponieważ użycie tej metody ignoruje wszelkie wartości, które mogły zostać ustawione AppThemew styles.xmlpliku. Poniższe rozwiązanie, które zastępuje klasę nadrzędną NoActionBarw styles.xmlpliku, zachowuje wszelkie istniejące wcześniej informacje o stylu, które zostały skonfigurowane.
Lemonseed
W takim przypadku całe moje tło aplikacji będzie czarne
Sajid khan
24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

działa, onCreate()gdy jest umieszczony wcześniejsetContentView() zostanie wywołana .

w przeciwnym razie ulega awarii

Ivo Robotnik
źródło
6
Powoduje to awarię aplikacji. super.onCreate.....setContentView.....
Ustawiam
To nie jest właściwy sposób. Pan Torres dobrze to wyjaśnił.
Jithin Pavithran,
16

W styles.xml pliku, zmień DarkActionBar do 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
źródło
13

Sprawdź to

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();
Manmohan Kumar
źródło
To działający kod do ukrycia paska przez sam program. Można go umieścić w konstruktorze onCreate(...)po liniach super.onCreate(..)i setContentView(...), aby ukryć pasek zaraz po uruchomieniu programu.
Milan Kerslager
9

To działa dla mnie

getSupportActionBar().hide();
B.ÖNER
źródło
7

W pliku manifestu zmień na to:

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
XIII
źródło
6

To pracowało dla mnie przy values/styles.xmldodawaniu elementów:

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`
Roger Casagrande
źródło
6

Przejdź do Project -> app -> main -> res -> values ​​-> styles.xml

Zmień tę linię, jeśli chcesz ją usunąć dla każdego widoku

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

do

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

jeśli chcesz, aby był to tylko jeden widok, możesz to zmienić w danych manifestu. Przejdź do Android -> manifesty -> AndroidManifest.xml. wykonaj następujące czynności:

  1. Wyszukaj widok, w którym chcesz uzyskać tego typu zmianę <activity android:name"...">
  2. Dodaj android:theme=""@style/Theme.AppCompat.NoActionBar"
Zitro
źródło
4
  1. otwórz style.xml
  2. wstawić
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

możesz zmienić nazwę = „---------”

  1. otwórz Androidmaifest.xm

    znajdź android: theme = "@ style / AppTheme" zmień na android: theme = "@ style / no_title"

  2. kliknij wybierz Motyw na pasku menu (zielony kolor obok MainActivity)

    • kliknij projekt Motyw
    • kliknij no_title (po prawej stronie)
    • Kliknij OK
สาธิต งาม เมือง
źródło
4

Dla początkujących takich jak ja. Po prostu zrób to, co mówię, z projektu Android.

aplikacja -> res -> wartości -> style.xml

zastąpić ten kod

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

Cieszyć się.

MD.JULHAS HOSSAIN
źródło
3

usuń następujące elementy z 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"/>

skontaktuj się ze mną, aby uzyskać dodatkową pomoc

Claude
źródło
2

zrób to w swoim pliku manifestu:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
Rustam
źródło
przełącza mnie na stary projekt Androida (czarne tło, pola tekstowe z żółtymi ramkami ...)
Jonas
spróbuj android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"upewnij się, że korzystasz z poziomu API 14. min
Rustam
Możesz użyć tego dla jasnego motywu: android: theme = "@ style / Theme.AppCompat.Light.NoActionBar">
XIII
2

this.requestWindowFeature (Window.FEATURE_NO_TITLE);

w onCreate () działa!

Jonas
źródło
2

Spróbuj zmienić style na NoActionBar, jeśli to nie zadziała, dodaj ten kod do głównego działania

 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
źródło
2

To działa dla mnie, mam nadzieję, że zadziała również dla ciebie

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
źródło
1

Najlepszym sposobem jest użycie funkcji setTitle()paska akcji, jeśli chcesz wyświetlać logo lub mieć inne rzeczy w swoim actionBar, ale nie chcesz widzieć nazwy aplikacji, napisz ten kod w MainActivity.java lub gdziekolwiek chcesz ukryć tytuł w 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

W ten sposób Twoja aplikacja nie będzie miała powodu do awarii.

Perhpethua
źródło
1

Po prostu użyj setTitle(null)powyżej

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

Tytuł zniknie, a następnie możesz użyć wybranego logo .....

Bhupinder Singh
źródło
1

Zmierzyłem się z tym samym problemem co Ty i rozwiązałem go po prostu zmieniając klasę, którą przedłużyłem.

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

Mam nadzieję, że to rozwiąże Twój problem.

Tee Yi Heng
źródło
0

W AndroidManifest.xmlswojej aplikacji znajdziesz rozszerzenieandroid:theme na przykład ustawione na@style/AppTheme

Teraz przejdź do styles.xml, znajdź tag stylu, upewnij się, że nazwa jest AppThemetaka sama jak w manifeście i ustaw rodzica na android:Theme.Holo.Light.NoActionBar (zrób to również w stylach (v21), jeśli masz to w swoim projekcie)

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <!-- ... -->
</style>
Ayham Rustom
źródło
0

Po prostu zadzwoń setTitle(null);onCreate ()

Mina Fawzy
źródło
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
źródło
Witamy w Stack Overflow! Nie odpowiadaj tylko za pomocą kodu źródłowego. Spróbuj przedstawić miły opis tego, jak działa Twoje rozwiązanie. Zobacz: Jak napisać dobrą odpowiedź? . Dzięki
sɐunıɔ ןɐ qɐp
0

Aby po prostu usunąć pasek tytułu (co oznacza, że ​​pasek zawiera nazwę aplikacji) z działania, po prostu dodaję poniższy wiersz do tego działania w manifests\AndroidManifest.xml:

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

Powinien teraz wyglądać jak poniżej

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

Mam nadzieję, że to się przyda.

Gregorio
źródło