Hapus judul di Toolbar di appcompat-v7

170

The dokumentasi dari Toolbarkata

Jika suatu aplikasi menggunakan gambar logo, itu harus sangat mempertimbangkan menghilangkan judul dan subtitle.

Apa cara yang tepat untuk menghapus judul?

timemanx
sumber
di mana masalahnya jika Anda hanya mengaturnya ke string kosong? Saya tidak berpikir Anda harus menggunakan tata letak khusus yang hanya menggunakan ikon. Tebak itu berlebihan?
Wagner Michael
3
@maffelbaffel Tidak ada yang salah dengan pengaturan string kosong tapi rasanya tidak pantas. Tapi ya, menggunakan tata letak khusus akan berlebihan.
timemanx
1
Saya harus melakukan:toolbar.setTitle("");
Ferran Maylinch
1
@ Ferranaylinch Ya, ini juga berfungsi untuk saya! Saya Menggunakan toolbar.setTitle (null); yang menghasilkan Nama Aplikasi sebagai judul default. jadi saya mengatur toolbar.setTitle (""); yang bekerja dengan baik.
ULHAS PATIL

Jawaban:

555
getSupportActionBar().setDisplayShowTitleEnabled(false);
massaimara98
sumber
4
Jawaban ini dan jawaban oleh David_E berfungsi sebagai dari saya jika dipanggil tepat setelah menelepon setSupportActionBar(). Memilih jawaban ini karena ini tampaknya menjadi cara resmi untuk melakukan ini sesuai dengan referensi resmi:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5
i'ts hanya untuk bilah alat seperti actionbar, tetapi tidak untuk toobar bersih!
iscariot
2
Bagaimana cara menghapusnya menggunakan style.xml? Tolong bantu saya
Anand Savjani
Bekerja untukku. Anda harus menggunakan "appcompat_v7: v21" agar ini berfungsi.
V_J
Anda harus memeriksa apakah hal di atas tidak akan menghasilkan NullPonterException dengan melakukan: if (getSupportActionBar ()! = null) getSupportActionBar (). setDisplayShowTitleEnabled (false);
iOSAndroidWindowsMobileAppsDev
68

Cara yang benar untuk menyembunyikan / mengubah Judul Toolbar adalah ini:

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

Ini karena ketika Anda menelepon setSupportActionBar(toolbar);, makagetSupportActionBar() akan bertanggung jawab menangani semuanya ke Bilah Tindakan, bukan objek toolbar.

Lihat di sini

David_E
sumber
9
setTitle (null) menghasilkan nama aplikasi yang menjadi judul .. setTitle ("") bekerja untuk saya.
user1354603
1
di xml saya menambahkan <Toolbar app: title = "" // title is a space. Bekerja
Dan Alboteanu
21

Coba ini...

 @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
sumber
19

Alasan untuk jawaban saya dalam hal ini adalah karena jawaban yang paling banyak dipilih sendiri gagal menyelesaikan masalah saya. Saya telah memecahkan masalah ini dengan melakukan ini.

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

Semoga ini akan membantu orang lain juga.

Chandra Sekhar
sumber
2
Ini bukan ide yang bagus. Jika Anda memiliki <intent-filter>pada Kegiatan itu untuk memungkinkan pengguna untuk membuka aplikasi Anda dengan mengklik URL (misalnya), dialog disambiguasi tidak akan memiliki judul apa pun!
Albert Vila Calvo
10

Cara lain untuk menghapus judul dari Anda Toolbaradalah dengan nullkeluar seperti ini:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);
Tn. Insinyur13
sumber
4

ini

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

Jika Anda menggunakan Bilah Alat, coba kode di bawah ini:

toolbar.setTitle("");
varotariya vajsi
sumber
2

Anda dapat menggunakan salah satu di bawah ini karena keduanya bekerja dengan cara yang sama: getSupportActionBar().setDisplayShowTitleEnabled(false); dan getSupportActionBar().setTitle(null);

Tempat menggunakan:

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

Atau :

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

perhatikan baris ini getSupportActionBar().setDisplayShowTitleEnabled(false);

suulisin
sumber
actionBar.addView (tampilan); adalah tampilan khusus yang saya tambahkan ke toolbar
suulisin
2

Tambahkan saja atribut ini ke toolbar Anda

app:title=" "
Dyno Cris
sumber
1

Cara yang benar untuk menyembunyikan judul / label ToolBar dengan kode berikut:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);
Hai Rom
sumber
1

Saya tidak tahu apakah ini cara yang benar atau tidak, tetapi saya telah mengubah gaya saya seperti ini.

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

jika Anda menggunakan bilah alat default maka Anda dapat menambahkan baris kode ini

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
Krishna Mohan Singh
sumber
1

Sudah jelas, tetapi App Theme pemilihan dalam desain hanya untuk menampilkan rancangan selama edisi tata letak, tidak terkait dengan aplikasi nyata yang terlihat di ponsel. Dalam kasus saya, tidak ada bilah judul dalam desain tetapi bilah judul selalu di ponsel.

Saya mulai dengan pemrograman Android dan berjuang untuk menemukan solusi yang tepat.

Hanya mengubah file manifes ( AndroidManifest.xml) tidak cukup karena gaya yang perlu ditentukan adalah styles.xml. Juga tidak berguna mengubah file layout.

Semua solusi yang diusulkan dalam Javaatau Kotlingagal untuk saya. Beberapa dari mereka merusak aplikasi. Dan jika seseorang tidak pernah (seperti saya) berniat menggunakan bilah judul di aplikasi, solusi statisnya lebih bersih.

Bagi saya satu-satunya solusi yang berfungsi pada tahun 2019 (Android Studio 3.4.1) adalah:

di styles.xml(dalam aplikasi / res / nilai) tambahkan baris:

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

Setelah masuk AndroidManifest.xml ( bawah aplikasi / manifes)

Menggantikan

android:theme="@style/AppTheme">

oleh

android:theme="@style/AppTheme.NoActionBar">
Paulo Buchsbaum
sumber
0

Tidak ada yang menyebutkan:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }
Andoctorey
sumber
Baca pertanyaan dengan seksama sebelum menjawab, OP telah meminta untuk menghapus judul dari toolbar
Bhavik Mehta
0

toolbar.setTitle(null);// hapus judul

pengguna2167877
sumber
0
Toolbar toolbar = findViewById(R.id.myToolbar);
    toolbar.setTitle("");
Bacar Pereira
sumber