Saya dapat menyembunyikan bilah tindakan di sarang lebah menggunakan kode ini:
getActionBar().hide();
Namun saat keyboard terbuka, dan pengguna menyalin-tempel apa pun, bilah tindakan muncul lagi. Bagaimana cara menonaktifkan bilah tindakan secara permanen?
Jawaban:
Jika Anda menggunakan
Theme.Holo.Light
dan ingin menggunakanTheme.Holo.Light.NoActionBar
varian pada perangkat pra 3.2, Anda dapat menambahkan ini kestyles.xml
:<style name="NoActionBar" parent="@android:style/Theme.Holo.Light"> <item name="android:windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style>
lalu setel sebagai tema aktivitas Anda:
<activity android:theme="@style/NoActionBar" ... />
sumber
<item name="android:windowFullscreen">true</item>
Dengan menyetel tema aktivitas di Manifes,
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" .... >
sumber
ActionBar
, bagi saya.Saya menggunakan kode berikut di dalam fungsi onCreate saya:
ActionBar actionBar = getSupportActionBar(); actionBar.hide();
Sumber: https://developer.android.com/guide/topics/ui/actionbar.html
sumber
<application . . android:theme="@android:style/Theme.Holo.Light.NoActionBar" . >
mungkin ini membantu Anda
sumber
Dengan superclass Activity yang dihasilkan default Android Studio is
ActionBarActivity
and then, tidak ada solusi dalam respons lain yang berfungsi. Untuk menyelesaikannya, ganti saja superclass:public class xxxActivity extends ActionBarActivity{
untuk:
public class xxxActivity extends Activity {
sumber
Jika Anda ingin mendapatkan layar penuh tanpa actionBar dan Judul.
Tambahkan di style.xml
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style>
dan gunakan gaya di manifest.xml.
android:theme="@style/AppTheme.NoActionBar"
sumber
Pergi ke styles.xml Ubah DarkActionBar ini menjadi NoActionBar
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
sumber
Cara terbaik yang saya temukan yang memberikan tema khusus dan tidak ada bilah tindakan, adalah membuat SuperClass untuk semua aktivitas dalam proyek saya dan di dalamnya onCreate () panggil baris kode berikut -
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
Itu selalu berhasil untuk saya. Satu-satunya masalah dalam pendekatan ini adalah, Anda akan melihat bilah tindakan sepersekian detik saat memulai aplikasi (Bukan aktivitas, aplikasi lengkap).
sumber
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); getSupportActionBar().hide(); }
sumber
Anda dapat memaksa menyembunyikan bilah tindakan dengan mudah:
ActionBar actionbar = getSupportActionBar(); actionBar.hide();
Cukup gunakan tema default Anda.
sumber
Jangan gunakan tema Holo dan Actionbar akan hilang. Kode ini berfungsi untuk saya di API 8+, dengan dukungan lib v7:
<style name="NoActionBar" parent="@style/Theme.AppCompat.Light"> <item name="android:windowNoTitle">true</item> </style>
setel tema itu untuk aktivitas Anda:
<activity android:theme="@style/NoActionBar" ... />
dan di kelas aktivitas Anda.
Ia bekerja bahkan ketika itu memperluas ActionBarActivity.
sumber
Jika Anda hanya menginginkan tema tanpa bilah tindakan, Anda dapat menggunakan varian 'NoActionBar', misalnya. jika tema dasar Anda seperti di bawah ini
<!-- Base application theme. --> <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>
maka Anda bisa menggunakan
<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style>
Tetapi jika Anda ingin mempertahankan properti tema utama Anda yaitu AppTheme, Anda dapat melakukan seperti di bawah ini
<style name="AppThemeNoActionBar" parent="AppTheme"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>
Anda dapat mempertahankan semua properti tema dasar Anda dengan cara ini dan tidak perlu menambahkannya secara eksplisit di tema NoActionBar Anda :)
sumber
Di bawah res -> nilai -> styles.xml
Perubahan
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Untuk
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
sumber
Inilah solusi cepat.
Anda menemukan styles.xml dan mengubah tema aplikasi dasar menjadi "Theme.AppCompat.NoActionBar" seperti yang ditunjukkan di bawah ini.
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <!-- Customize your theme here. --> </style>
sumber
Berikut adalah langkah-langkah untuk menyembunyikan bilah tindakan secara permanen:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
.Sekarang ganti induk dengan tema lain yang mengandung "NoActionBar" di namanya.
Sebuah. Anda juga dapat memeriksa bagaimana tema terlihat dengan beralih ke tab desain activity_main.xml dan kemudian mencoba setiap tema yang disediakan dalam daftar tarik-turun tema di UI.
Jika MainActivity Anda memperluas AppCompatActivity , pastikan Anda menggunakan tema AppCompat.
sumber
Ketik kode ini ke
onCreate
metode Anda sebelumnyasetContentView
:requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);
sumber
Saya ingin memposting pendekatan Desainer untuk ini, ini akan membuat desain terpisah dari logika bisnis Anda:
Langkah 1. Buat gaya baru di (res-> values-> styles.xml): Pada dasarnya ini adalah salinan keseluruhan skema Anda dengan induk yang berbeda - parent = "Theme.AppCompat.Light.NoActionBar"
<!-- custom application theme. --> <style name="MarkitTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimary</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:windowNoTitle">true</item> </style>
Langkah 2: Di AndroidManifest.xml Anda, tambahkan tema ini ke aktivitas yang Anda inginkan: misalnya saya ingin aktivitas utama saya tanpa bilah tindakan jadi tambahkan ini seperti di bawah ini:
<activity android:name=".MainActivity" android:theme="@style/MarkitTheme">
Ini adalah solusi terbaik bagi saya setelah mencoba banyak hal.
sumber
dalam fungsi onCreate tambahkan kode berikut
ActionBar actionBar = getSupportActionBar(); actionBar.hide();
dan cukup impor android.support.v7.app.ActionBar
sumber
Pastikan Anda membuat tema baru dengan mengubah nama tema default di
styles.xml
file menjadi:<style name="MyTheme" parent="android:Theme.Material.Light.NoActionBar">
dan kemudian mengubah tema dari drop-down di bawah Anda
main_activity.xml
menjadi apa pun yang Anda sebut tema Anda.sumber
Solusi menarik lainnya di mana Anda ingin mempertahankan ViewPager sambil menghapus bilah tindakan adalah memiliki gaya sebagai pertunjukan
<style name="AppTheme" parent="AppBaseTheme"> <item name="android:windowActionBarOverlay">true</item> <item name="android:actionBarStyle">@style/NoActionBarStyle</item> <item name="android:windowContentOverlay">@null</item> </style> <style name="NoActionBarStyle" parent="android:Widget.Holo.ActionBar"> <item name="android:backgroundSplit">@null</item> <item name="android:displayOptions"></item> </style>
Ini adalah cara sebagian besar aplikasi Dialer di android menampilkan ViewPager tanpa bilah tindakan.
Ref: https://github.com/CyanogenMod/android_packages_apps_Dialer
sumber
coba ini di manifist Anda
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Holo.NoActionBar" android:label="@string/app_name" >
sumber
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); android.support.v7.app.ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.hide(); } setContentView(R.layout.activity_main);
sumber
Ada dua cara untuk menonaktifkan
ActionBar
di Android.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main);
sumber
Gunakan ini di
styles.xml
file:<style name="MyTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="android:windowActionBar">false</item> <item name="android:windowNoTitle">true</item>
sumber
Saya menggunakan solusi ini:
di manifes, di dalam tag aktivitas Anda:
android:label="@string/empty_string"
dan di strings.xml:
<string name="empty_string">""</string>
Dengan cara ini Anda mempertahankan ActionBar (atau Toolbar) dengan judul, tetapi ketika Aktivitas jika dibuat, judul secara otomatis kosong.
sumber
Anehnya, tidak ada yang berhasil untuk saya saat membangun Nexus 7 yang menjalankan 4.4.2 (API 19). Untuk sebagian besar, setidaknya dengan versi terbaru Android Studio (1.2.1.1) setelah membuat aplikasi aktivitas kosong,:
ada di elemen aplikasi, bukan elemen aktivitas. Jika saya menghapus kode di atas atau mencoba mengubahnya menjadi:
aplikasi tidak akan berjalan ... jika ini terjadi pada Anda, cukup masuk ke file styles.xml Anda (res> values> styles.xml) dan tambahkan .NoTitleBar ke akhir induk seperti blok ini:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
Tidak diperlukan perubahan pada file AndroidManifest.
sumber
Di Anda
activity_main.xml
, Anda dapat menyesuaikan dari sana di baris:<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" ....... android:theme="@style/Theme.Design.Light.NoActionBar" ....... ">
Terkadang ketika Anda dapat melihat hal-hal seperti ini Klik di sini , Anda dapat memilih dari sini tema "noActionBar".
Semoga saya membantu Anda.
sumber