Bagaimana cara menghapus bilah judul dari aplikasi saya?

90

Di aplikasi saya, ada bilah judul di bagian atas tempat menu tambahan berada, tetapi saya tidak memerlukan pengaturan dan hanya memiliki satu layar. Ketika saya mengubah tema seperti yang dijelaskan dalam banyak pertanyaan lain, saya mendapatkan tema 2.2 yang lama. Saya ingin memiliki tema modern tanpa bilah di bagian atas.

Jonas
sumber

Jawaban:

156

Buka styles.xml dan ubah .DarkActionBaruntuk.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>

menjadi

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

jika warna tidak relevan dengan aplikasi Anda, Anda bisa memilihnya

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" />
Tn. Torres
sumber
1
Bekerja seperti yang diharapkan. Namun, judul tersebut juga hilang saat melihat semua aplikasi yang aktif.
IAbstract
bagaimana Anda akan memperbaiki @IAbstract?
Pablo Biedma
@PabloBiedma: Saya tidak tahu.
IAbstract
60

Dalam file manifes Ubah:

    android:theme="@style/AppTheme" >
    android:theme="@style/Theme.AppCompat.NoActionBar"
Tarek Ezzat Abdallah
sumber
4
Sementara karya-karya ini, mengedit styles.xmlfile yang mungkin menjadi pilihan yang lebih baik untuk sebagian besar, karena menggunakan metode ini mengabaikan nilai-nilai yang mungkin telah dibentuk di bawah AppThemedi styles.xmlberkas. Solusi di bawah ini yang menggantikan kelas induk dengan NoActionBardi dalam styles.xmlfile mempertahankan informasi gaya apa pun yang sudah ada sebelumnya yang telah disiapkan.
Lemonseed
Dalam hal ini, seluruh latar belakang aplikasi saya menjadi hitam
Sajid khan
24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

bekerja onCreate()saat put before setContentView()dipanggil.

jika tidak maka crash

Ivo Robotnik
sumber
6
Ini menyebabkan aplikasi mogok. Saya menempatkan garis di antara super.onCreate.....dan setContentView..... Dan itu macet
Nalorin
Ini bukanlah cara yang benar untuk melakukannya. Mr. Torres menjelaskannya dengan baik.
Jithin Pavithran
16

Di file styles.xml , ubah DarkActionBar menjadi 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
sumber
13

Periksa ini

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();
Manmohan Kumar
sumber
Ini adalah kode yang berfungsi untuk menyembunyikan bilah oleh program itu sendiri. Bisa ditempatkan di konstruktor onCreate(...)setelah baris super.onCreate(..)dan setContentView(...)untuk menyembunyikan bar setelah program dimulai.
Milan Kerslager
9

Ini berhasil untuk saya

getSupportActionBar().hide();
KESALAHAN YG BODOH
sumber
8

Pergi ke Project -> app -> main -> res -> values ​​-> styles.xml

Ubah baris ini jika Anda ingin menghapusnya untuk setiap tampilan

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

untuk

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

jika Anda ingin membuatnya hanya untuk satu tampilan, Anda dapat mengubahnya dalam data manifes Anda. Buka Android -> manifests -> AndroidManifest.xml. lakukan berikut ini:

  1. Cari Tampilan yang Anda inginkan untuk mendapatkan jenis perubahan ini <activity android:name"...">
  2. Menambahkan android:theme=""@style/Theme.AppCompat.NoActionBar"
Zitro
sumber
Saya suka solusi ini. Tidak seperti mengatur NoActionBar dalam manifes yang memaksa Anda untuk menghapus tema (atau gaya) yang sudah diterapkan misalnya Theme.MyApp, dengan solusi ini seseorang dapat mengedit Theme.MyApp dan mempertahankan beberapa penyesuaian.
MasterJEET
7

Dalam file manifes, ubah menjadi ini:

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
XIII
sumber
7

Ini bekerja untuk saya pada values/styles.xmlitem tambahan:

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`
Roger Casagrande
sumber
4
  1. buka styles.xml
  2. memasukkan
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

kamu bisa mengganti name = "---------"

  1. buka Androidmaifest.xm

    temukan android: theme = "@ style / AppTheme" chang ke android: theme = "@ style / no_title"

  2. klik pilih Tema di bilah menu (itu warna hijau di dekat MainActivity)

    • klik Tema proyek
    • klik no_title (di sisi kanan Anda)
    • klik OK
สาธิต งาม เมือง
sumber
4

Untuk Pemula Seperti Saya. Lakukan saja apa yang saya katakan. Dari Proyek Android Anda.

app -> res -> nilai -> style.xml

ganti kode ini

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

Nikmati.

MD.JULHAS HOSSAIN
sumber
3

hapus yang berikut ini dari 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"/>

hubungi saya untuk bantuan lebih lanjut

Claude
sumber
2

lakukan ini di file manifes Anda:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
Rustam
sumber
itu mengalihkan saya ke desain Android lama (latar belakang hitam, kotak teks dengan batas kuning ...)
Jonas
coba android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"pastikan Anda menggunakan api level min 14.
Rustam
Anda dapat menggunakan ini untuk tema ringan: android: theme = "@ style / Theme.AppCompat.Light.NoActionBar">
XIII
2

this.requestWindowFeature (Window.FEATURE_NO_TITLE);

di onCreate () berfungsi!

Jonas
sumber
2

Coba ubah gaya ke NoActionBar jika tidak berhasil, tambahkan kode ini ke aktivitas utama Anda

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

Ini berhasil untuk saya, saya harap ini berhasil untuk Anda juga

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

Cara terbaik adalah dengan menggunakan fungsi actionbar setTitle()jika Anda ingin menampilkan logo atau memiliki beberapa hal lain dalam diri Anda actionBar tetapi tidak ingin melihat nama aplikasinya, tulis kode ini di MainActivity.java atau di mana pun Anda ingin menyembunyikan judul di 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

Dengan cara ini aplikasi Anda tidak akan memiliki alasan untuk mogok.

Perhpethua
sumber
1

Cukup gunakan di setTitle(null)atas

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

Judul akan hilang maka Anda dapat menggunakan logo pilihan Anda .....

Bhupinder Singh
sumber
1

Saya telah menghadapi masalah yang sama dengan Anda, dan menyelesaikan masalah ini hanya dengan mengubah kelas yang saya perpanjang.

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

Saya harap ini akan menyelesaikan masalah Anda.

Tee Yi Heng
sumber
0

Dalam AndroidManifest.xmlaplikasi Anda, Anda akan menemukan android:themecontoh disetel ke@style/AppTheme

Sekarang pergi ke styles.xml, temukan tag gaya, pastikan nama itu disetel AppThemesama seperti di manifes dan setel induk ke android:Theme.Holo.Light.NoActionBar (juga lakukan ini di gaya (v21) jika Anda memilikinya di proyek Anda)

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <!-- ... -->
</style>
Ayham Rustom
sumber
0

Panggil saja setTitle(null);onCreate ()

Mina Fawzy
sumber
0

coba: 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
sumber
Selamat datang di Stack Overflow! Tolong jangan menjawab hanya dengan kode sumber. Cobalah untuk memberikan gambaran yang bagus tentang bagaimana solusi Anda bekerja. Lihat: Bagaimana cara menulis jawaban yang baik? . Terima kasih
sɐunıɔ ןɐ qɐp
0

Untuk hanya menghapus bilah judul (yang berarti bilah berisi nama aplikasi Anda) dari suatu aktivitas, saya cukup menambahkan baris di bawah ini ke aktivitas itu di manifests\AndroidManifest.xml:

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

Sekarang seharusnya terlihat seperti di bawah ini

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

Semoga bermanfaat.

Gregorio
sumber
0
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getSupportActionBar().hide();

    setContentView(R.layout.activity_main);

Cukup letakkan di getSupportActionBar().hide(); antara super.onCreatedan setContentViewmetode.

Azizul Hakim
sumber