Appcompat-v7'deki Araç Çubuğu'ndaki başlığı kaldır


170

Dokümantasyon ve Toolbardiyor

Bir uygulama bir logo resmi kullanıyorsa, bir başlığı ve alt başlığı atlamayı kesinlikle dikkate almalıdır.

Başlığı kaldırmanın uygun yolu nedir?


boş bir dizeye ayarladıysanız sorun nerede? Sadece bir simge kullanan özel bir düzen kullanmanız gerektiğini düşünmüyorum. Sanırım aşırıya kaçmış mı?
Wagner Michael

3
@maffelbaffel Boş bir dize ayarlamakla ilgili yanlış bir şey yok, ancak yanlış geliyor. Ama evet, özel bir düzen kullanmak aşırıya kaçabilir.
timemanx

1
Yapmam gerekiyordu:toolbar.setTitle("");
Ferran Maylinch

1
@FerranMaylinch Evet, bu benim için de bir iş! I toolbar.setTitle (null) kullanın ; bu da Uygulama Adı'na varsayılan başlık olarak eklenir. böylece toolbar.setTitle ("") ayarlıyorum ; hangi iyi çalışıyor.
ULHAS PATIL

Yanıtlar:


556
getSupportActionBar().setDisplayShowTitleEnabled(false);

4
Bu cevap ve David_E'nin cevabı, aradıktan hemen sonra çağrıldığında benden olduğu gibi çalışıyor setSupportActionBar(). Bu cevabı seçmek, resmi referansa göre bunu yapmanın resmi yolu olduğu için:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5 22

sadece actionbar gibi araç çubuğu için değil, temiz toobar için değil!
iscariot

2
Style.xml kullanarak nasıl kaldırılır? Lütfen bana yardım et
Anand Savjani

Benim için çalıştı. Bunun çalışması için "appcompat_v7: v21" kullanmanız gerekir.
V_J

yukarıdakilerin yaparak bir NullPonterException oluşturup oluşturmadığını kontrol etmeniz gerekir: if (getSupportActionBar ()! = null) getSupportActionBar (). setDisplayShowTitleEnabled (false);
iOSAndroidWindowsMobileAppsDev

68

Araç Çubuğu Başlığını gizlemenin / değiştirmenin doğru yolu şudur:

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

Çünkü aradığınızda setSupportActionBar(toolbar);, getSupportActionBar()her şeyi araç çubuğu nesnesine değil Eylem Çubuğuna taşımaktan sorumlu olacaksınız.

Buraya bakın


9
setTitle (null), uygulama adının başlık haline gelmesiyle sonuçlanır .. setTitle ("") benim için çalıştı.
user1354603

1
xml'de <Araç Çubuğu uygulaması: title = "" // başlık bir boşluk ekledim. Çalıştı
Dan Alboteanu

21

Bunu dene...

 @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);

    .....

 }

19

Bu konudaki cevabımın nedeni, en çok yükselen cevabın kendisinin sorunumu çözememesi. Bunu yaparak bu sorunu çözdüm.

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

Umarım bu başkalarına da yardımcı olur.


2
Bu iyi bir fikir değil. Bu <intent-filter>Etkinlikte, kullanıcıların bir URL'yi (örneğin) tıklayarak uygulamanızı açmasına izin veren bir etkinliğiniz varsa , netleştirme iletişim kutusunun başlığı olmayacaktır!
Albert Vila Calvo

10

Başlığı sizden kaldırmanın başka bir yolu da Toolbarşu şekilde nulldışarı çıkar:

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

4

bu

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


2

Her ikisi de aynı şekilde çalıştığı için feryatlardan herhangi birini kullanabilirsiniz: getSupportActionBar().setDisplayShowTitleEnabled(false); ve getSupportActionBar().setTitle(null);

Nerede kullanılır:

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

Veya:

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

2
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

bu satırı not al getSupportActionBar().setDisplayShowTitleEnabled(false);


actionBar.addView (görünüm); araç çubuğuna ekliyorum özel bir görünüm
suulisin

2

Bu özelliği araç çubuğunuza eklemeniz yeterli

app:title=" "

1

ToolBar'ın başlığını / etiketini gizlemenin doğru yolu aşağıdaki kodlar:

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

1

Bunun doğru yol olup olmadığını bilmiyorum ama tarzımı böyle değiştirdim.

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

1

varsayılan araç çubuğunu kullanıyorsanız, bu kod satırını

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);

1

Açıktır, ancak App Themetasarımdaki seçim sadece düzen baskısı sırasında bir taslak görüntülemek içindir, cep telefonunda görünen gerçek uygulama ile ilgili değildir. Benim durumumda, tasarımda başlık çubuğu yok ama başlık çubuğu her zaman cep telefonundaydı.

Android programlamaya başlıyorum ve doğru çözümü bulmak için savaşıyorum.

Sadece manifest dosyasını değiştirmek ( AndroidManifest.xml) yeterli değildir çünkü stilin önceden tanımlanması gerekir styles.xml. Ayrıca yararsız düzen dosyalarını değiştirmek.

Benim için önerilen tüm çözüm Javaveya Kotlinbaşarısız oldu. Bazıları uygulama çöküyor. Ve hiç kimse (benim gibi) başlık çubuğunu uygulamada kullanmayı düşünmüyorsa, statik çözüm daha temizdir.

Benim için 2019'da çalışan tek çözüm (Android Studio 3.4.1):

içinde styles.xml(app / res / değerlerin altında) satırları ekleyin:

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

Sonra AndroidManifest.xml(uygulama altında / bildirimler altında)

değiştirmek

android:theme="@style/AppTheme">

tarafından

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

0

Kimse bahsetmedi:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

Cevaplamadan önce soruyu dikkatlice okuyun, OP başlığı araç çubuğundan kaldırmak istedi
Bhavik Mehta


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.