Usuń tytuł z paska narzędzi w appcompat-v7

170

Dokumentacja od Toolbarmówi

Jeśli aplikacja używa obrazu logo, zdecydowanie powinna rozważyć pominięcie tytułu i podtytułu.

Jaki jest właściwy sposób usunięcia tytułu?

timemanx
źródło
gdzie jest problem, jeśli po prostu ustawisz go na pusty ciąg? Nie sądzę, abyś używał niestandardowego układu, który używa tylko ikony. Zgadnij, że to przesada?
Wagner Michael
3
@maffelbaffel Nie ma nic złego w ustawianiu pustego ciągu, ale wydaje się to niewłaściwe. Ale tak, używanie niestandardowego układu byłoby przesadą.
timemanx
1
Musiałem zrobić:toolbar.setTitle("");
Ferran Maylinch
1
@FerranMaylinch Tak, to też jest praca dla mnie! Używam toolbar.setTitle (null); co powoduje, że nazwa aplikacji jest tytułem domyślnym. więc ustawiam toolbar.setTitle (""); które działają dobrze.
ULHAS PATIL

Odpowiedzi:

554
getSupportActionBar().setDisplayShowTitleEnabled(false);
massaimara98
źródło
4
Ta odpowiedź i odpowiedź Davida_E działają tak, jak u mnie, jeśli zostaną wywołane zaraz po wywołaniu setSupportActionBar(). Wybierając tę ​​odpowiedź, ponieważ wydaje się, że jest to oficjalny sposób, zgodnie z oficjalnym odniesieniem:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5
tylko dla paska narzędzi, takiego jak pasek akcji, ale nie dla czystego paska narzędzi!
iscariot
2
Jak go usunąć za pomocą style.xml? Proszę, pomóż mi
Anand Savjani,
Pracował dla mnie. Aby to zadziałało, musisz użyć „appcompat_v7: v21”.
V_J
musisz sprawdzić, czy powyższe nie wygeneruje wyjątku NullPonterException, wykonując: if (getSupportActionBar ()! = null) getSupportActionBar (). setDisplayShowTitleEnabled (false);
iOSAndroidWindowsMobileAppsDev
68

Prawidłowy sposób ukrycia / zmiany tytułu paska narzędzi jest następujący:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);

To dlatego, że kiedy dzwonisz setSupportActionBar(toolbar);, togetSupportActionBar() będzie odpowiedzialny za obsługę wszystkiego do paska akcji, a nie obiekt paska narzędzi.

Zobacz tutaj

David_E
źródło
9
setTitle (null) powoduje, że nazwa aplikacji staje się tytułem .. setTitle („”) działało dla mnie.
user1354603
1
w xml dodałem <Toolbar app: title = "" // tytuł to spacja. Pracował
Dan Alboteanu
21

Spróbuj tego...

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_landing_page); 

    .....

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_landing_page);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    .....

 }
Silambarasan Poonguti
źródło
19

Powodem mojej odpowiedzi jest to, że sama najbardziej pozytywna odpowiedź nie rozwiązała mojego problemu. Rozwiązałem ten problem, robiąc to.

<activity android:name="NAME OF YOUR ACTIVITY"
    android:label="" />

Mam nadzieję, że to pomoże też innym.

Chandra Sekhar
źródło
2
To nie jest dobry pomysł. Jeśli w tym działaniu masz <intent-filter>zezwolenie użytkownikom na otwieranie aplikacji przez kliknięcie adresu URL (na przykład), okno dialogowe ujednoznacznienia nie będzie miało żadnego tytułu!
Albert Vila Calvo
10

Innym sposobem na usunięcie tytułu z twojego Toolbarjest nullwyrzucenie go w następujący sposób:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);
MrEngineer13
źródło
4

to

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //toolbar.setNavigationIcon(R.drawable.ic_toolbar);
    toolbar.setTitle("");
    toolbar.setSubtitle("");
    //toolbar.setLogo(R.drawable.ic_toolbar);
younes
źródło
3

Jeśli używasz paska narzędzi Toolbar, wypróbuj poniższy kod:

toolbar.setTitle("");
varotariya vajsi
źródło
2

Możesz użyć dowolnego z poniższych, ponieważ oba działają w ten sam sposób: getSupportActionBar().setDisplayShowTitleEnabled(false); i getSupportActionBar().setTitle(null);

Gdzie używać:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);

Lub:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(null);
Crime_Master_GoGo
źródło
2
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

zwróć uwagę na tę linię getSupportActionBar().setDisplayShowTitleEnabled(false);

suulizyna
źródło
actionBar.addView (widok); to widok niestandardowy, który
dodam
2

Po prostu dodaj ten atrybut do swojego paska narzędzi

app:title=" "
Dyno Cris
źródło
1

Prawidłowy sposób na ukrycie tytułu / etykiety ToolBar to następujące kody:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);
Hai Rom
źródło
1

Nie wiem, czy to właściwy sposób, czy nie, ale zmieniłem swój styl w ten sposób.

<style name="NoActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>
Goudam m
źródło
1

jeśli używasz domyślnego paska narzędzi, możesz dodać tę linię kodu

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
Krishna Mohan Singh
źródło
1

To oczywiste, ale plik App Theme wybór w projekcie dotyczy tylko wyświetlenia szkicu podczas edycji układu, nie jest związany z prawdziwym wyglądem aplikacji w telefonie komórkowym. W moim przypadku nie ma paska tytułu w projekcie, ale pasek tytułu był zawsze w telefonie komórkowym.

Zaczynam od programowania na Androida i walczę o znalezienie odpowiedniego rozwiązania.

Sama zmiana pliku manifestu ( AndroidManifest.xml) nie wystarczy, ponieważ styl musi być wstępnie zdefiniowany styles.xml. Bezużyteczna jest również zmiana plików układu.

Wszystkie proponowane rozwiązania w moim przypadku Javalub Kotlinzawiodły. Niektóre z nich powodują awarię aplikacji. A jeśli ktoś (tak jak ja) nigdy nie zamierza używać paska tytułu w aplikacji, rozwiązanie statyczne jest czystsze.

Dla mnie jedynym rozwiązaniem, które działa w 2019 roku (Android Studio 3.4.1) jest:

w styles.xml(pod app / res / values) dodaj wiersze:

   <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

Po w AndroidManifest.xml (pod aplikacją / manifestami)

Zastąpić

android:theme="@style/AppTheme">

przez

android:theme="@style/AppTheme.NoActionBar">
Paulo Buchsbaum
źródło
0

Nikt nie wspomniał:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }
Andoctorey
źródło
Przeczytaj uważnie pytanie przed udzieleniem odpowiedzi. OP poprosił o usunięcie tytułu z paska narzędzi
Bhavik Mehta,
0

toolbar.setTitle(null);// usuń tytuł

user2167877
źródło
0
Toolbar toolbar = findViewById(R.id.myToolbar);
    toolbar.setTitle("");
Bacar Pereira
źródło