Pertanyaan Cara menyembunyikan bilah judul untuk Aktivitas dalam XML dengan tema khusus yang ada


Saya ingin menyembunyikan batang judul untuk beberapa kegiatan saya. Masalahnya adalah saya menerapkan gaya untuk semua aktivitas saya, oleh karena itu saya tidak bisa begitu saja menetapkan tema @android:style/Theme.NoTitleBar.

Menggunakan NoTitleBar tema sebagai orang tua untuk gaya saya akan menghapus bilah judul dari semua aktivitas saya.

Bisakah saya menetapkan item gaya judul di suatu tempat?


785
2018-04-07 08:48


asal


Jawaban:


Lakukan ini di Anda onCreate() metode.

//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

//set content view AFTER ABOVE sequence (to avoid crash)
this.setContentView(R.layout.your_layout_name_here); 

this mengacu kepada Activity.


995
2018-04-07 09:35



Anda dapat memodifikasi AndroidManifest.xml:

<activity android:name=".MainActivity"
          android:label="@string/app_name"
          android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">

atau gunakan android:theme="@android:style/Theme.Black.NoTitleBar" jika Anda tidak memerlukan Aktivitas layar penuh.

catatan: Jika Anda telah menggunakan tampilan 'default' sebelumnya, Anda mungkin juga harus mengubah kelas induk AppCompatActivity untuk Activity.


484
2017-09-20 14:56



Saya sekarang melakukan yang berikut ini.

Saya menyatakan gaya yang mewarisi semuanya dari gaya umum saya dan kemudian menonaktifkan judulBar.

<style name="generalnotitle" parent="general">
    <item name="android:windowNoTitle">true</item>
</style>

Sekarang saya dapat mengatur gaya ini untuk setiap Kegiatan di mana saya ingin menyembunyikan bar judul yang menimpa aplikasi gaya lebar dan mewarisi semua informasi gaya lainnya, maka tidak ada duplikasi dalam kode gaya.

Untuk menerapkan gaya ke Aktivitas tertentu, buka AndroidManifest.xml dan tambahkan atribut berikut ke activity menandai;

<activity
    android:theme="@style/generalnotitle">

359
2018-04-13 08:15



Saya tidak suka this.requestWindowFeature(Window.FEATURE_NO_TITLE); karena bilah judul muncul sebentar, lalu menghilang.

Saya juga tidak suka android:theme="@android:style/Theme.NoTitleBar" karena saya kehilangan semua perubahan 3.0+ Holo yang telah digunakan oleh pengguna perangkat baru. Jadi saya menemukan solusi ini.

Di dalam Anda res / nilai folder membuat file bernama styles.xml (Jika belum ada). Di file itu letakkan kode berikut:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Default" parent="@android:style/Theme"></style>
    <style name="Theme.NoTitle" parent="@android:style/Theme.NoTitleBar"></style>
    <style name="Theme.FullScreen" parent="@android:style/Theme.NoTitleBar.Fullscreen"></style>
</resources>

Selanjutnya buat a res / values-v11 dengan yang lain styles.xml file (Sekali lagi ini mungkin sudah ada). Di file itu letakkan kode berikut:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Default" parent="@android:style/Theme.Holo"></style>
    <style name="Theme.NoTitle" parent="@android:style/Theme.Holo.NoActionBar"></style>
    <style name="Theme.FullScreen" parent="@android:style/Theme.Holo.NoActionBar.Fullscreen"></style>
</resources>

Dan jika Anda menargetkan 4.0+, buat a res / nilai-v14 folder dengan yang lain styles.xml file (Ya mungkin sudah ada). Di file itu letakkan kode berikut:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Default" parent="@android:style/Theme.Holo.Light"></style>
    <style name="Theme.NoTitle" parent="@android:style/Theme.Holo.Light.NoActionBar"></style>
    <style name="Theme.FullScreen" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"></style>
</resources>

Akhirnya, dengan semua file ini dibuat, buka file Anda AndroidManifiest.xml file Anda dapat menambahkan kode:

android:theme="@style/Theme.NoTitle"

ke tag aktivitas dari aktivitas yang Anda inginkan tidak ada judul untuk atau tag aplikasi jika Anda ingin menerapkannya ke seluruh aplikasi.

Sekarang pengguna Anda akan mendapatkan tema yang terkait dengan versi perangkat mereka dengan tata letak layar yang Anda inginkan.

P.S. Mengubah nilai menjadi android:theme="@style/Theme.FullScreen" akan memiliki efek yang sama, tetapi juga menghapus bilah Pemberitahuan.


164
2018-01-02 01:06



Bilah judul dapat dihapus dengan dua cara seperti yang disebutkan di laman Android pengembang:

Dalam manifest.xml mengajukan:

  1. Tambahkan yang berikut di application jika Anda ingin menghapusnya untuk semua aktivitas dalam aplikasi:

    <application android:theme="@android:style/Theme.Black.NoTitleBar">
    
  2. Atau untuk aktivitas tertentu:

    <activity android:theme="@android:style/Theme.Black.NoTitleBar">
    

98
2018-03-20 11:48



jawaban yang benar mungkin adalah tidak memperluas ActionbarActivity daripada hanya memperluas Aktivitas


jika Anda masih menggunakan aktivitas actionbar Sepertinya ini berfungsi:

@Override
protected void onCreate(Bundle savedInstanceState) {          
    super.onCreate(savedInstanceState);
    getSupportActionBar().hide(); //<< this
    setContentView(R.layout.activity_main);
}

tampaknya ini juga berfungsi:

styles.xml:

   <style name="AppBaseTheme" parent="Theme.AppCompat.Light" >
          <item name="android:windowNoTitle">true</item>   <!-- //this -->     
   </style>

saya bisa melakukan seperti yang ditulis oleh Scott Biggs. jenis pekerjaan ini. kecuali tidak ada tema itu. maksud saya latar menu pengaturan transparan:

berubah saja

public class MainActivity extends ActionBarActivity {

untuk Aktivitas atau FragmentActivity

public class MainActivity extends Activity  {

Namun saya bisa membuatnya terlihat cukup baik menggunakan desain material dan tidak menghapus bilah tindakan: https://gist.github.com/shimondoodkin/86e56b3351b704a05e53

  1. mengatur ikon aplikasi
  2. atur warna bilah tindakan untuk menyesuaikan desain.
  3. mengatur ikon ke menu pengaturan
  4. tambahkan lebih banyak ikon (tombol di atas)

itu adalah dengan contoh styling styling aksibar desain material.


44
2018-01-16 02:49



Jika Anda menggunakan this.requestWindowFeature(Window.FEATURE_NO_TITLE) pengguna masih dapat melihat judul bar hanya sesaat selama peluncuran animasi ketika aktivitas dimulai onCreate. Jika Anda menggunakan @android:style/Theme.Black.NoTitleBar seperti yang ditunjukkan di bawah ini maka bar judul tidak akan ditampilkan selama peluncuran animasi.

<activity 
    android:name=".MainActivity" 
    android:label="My App"
    android:theme="@android:style/Theme.Black.NoTitleBar"
    android:screenOrientation="portrait">

contoh di atas jelas akan menimpa tema aplikasi Anda yang sudah ada, jika Anda memiliki tema yang sudah ada lalu tambahkan <item name="android:windowNoTitle">true</item> untuk itu.


41
2017-10-17 07:04



apa yang berhasil untuk saya:

1- dalam styles.xml:

 <style name="generalnotitle" parent="Theme.AppCompat.Light" >
          <item name="android:windowNoTitle">true</item>   <!-- //this -->     
   </style>

2- dalam MainActivity

@Override
protected void onCreate(Bundle savedInstanceState) {          
    super.onCreate(savedInstanceState);
    getSupportActionBar().hide(); //<< this
    setContentView(R.layout.activity_main);
}
  1. dalam manifes mewarisi gaya:

    <activity android:name=".MainActivity" android:theme="@style/generalnotitle">
    

19
2017-10-23 21:32