Mencoba memindahkan barang-barang saya untuk digunakan Toolbar
sebagai ganti bilah tindakan, tetapi saya terus mendapatkan pesan kesalahan
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tyczj.weddingalbum/com.xxx.xxx.MainActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5039)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
at android.support.v7.app.ActionBarActivityDelegateBase.setSupportActionBar(ActionBarActivityDelegateBase.java:165)
at android.support.v7.app.ActionBarActivity.setSupportActionBar(ActionBarActivity.java:92)
at com.xxx.xxx.MainActivity.onCreate(MainActivity.java:113)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5039)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
jadi saya menambahkan gaya saya agar aktivitas saya tidak memiliki actionbar
<style name="AppCompatTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:windowActionBar">false</item>
</style>
dan tema ini berlaku untuk kegiatan di manifes saya
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustResize|stateHidden"
android:theme="@style/AppCompatTheme" android:screenOrientation="portrait"/>
MainActivity memperluas GooglePlayServiceActivity jadi saya juga mengatur tema di sana
<activity
android:name=".GooglePlayServicesActivity"
android:label="@string/title_activity_google_play_services"
android:theme="@style/AppCompatTheme">
tapi saya masih mendapatkan kesalahan. Saya juga tidak meminta fitur jendela di mana pun. ada ide mengapa saya masih mendapatkan ini?
windowActionBar
tidak sama denganandroid:windowActionBar
?Cara mudah lainnya adalah menjadikan tema Anda seperti anak kecil
Theme.AppCompat.Light.NoActionBar
:sumber
GooglePlayServiceActivity
, saya tidak ingatTambahkan satu baris
android:theme="@style/AppTheme.NoActionBar"
keactivity
dalamAndroidManifest
dan Anda selesai.AndroidManifest.xml :
styles.xml
sumber
Untuk menggunakan Bilah Alat sebagai Bilah Tindakan, pertama-tama nonaktifkan Bilah Tindakan yang disediakan dekorasi.
Cara termudah adalah memperluas tema Anda
(atau varian cahayanya).
Kedua, buat instance Toolbar, biasanya melalui layout XML Anda:
Kemudian di Aktivitas atau Fragmen Anda, atur Bilah Alat untuk bertindak sebagai Bilah Tindakan Anda:
Kode ini bekerja untuk saya.
sumber
<android.support.v7.widget.Toolbar
ke XML.Jika Anda ingin menggabungkan beberapa aktivitas dengan actionbar dan yang lainnya tidak, Anda harus menggunakan tema dasar yang mengaktifkan actionbar dan kemudian membuat sub tema yang akan Anda gunakan pada aktivitas yang tidak memerlukan actionbar.
Misalnya Anda dapat menggunakan sub gaya seperti ini
Sementara tema dasar meluas katakan
dan kemudian gunakan tema non actionbar di File AndroidManifest dalam tag aktivitas katakan
Anda harus menerapkan ini pada setiap aktivitas individual yang tidak memerlukan bilah tindakan jadi jika proyek Anda membutuhkan lebih sedikit aktivitas bilah tindakan daripada yang tidak, maka lebih baik untuk menerapkan ini pada tingkat tema dasar
sumber
Saya juga menghadapi masalah yang sama. Tapi saya menggunakan:
getSupportActionBar().hide();
sebelum
setContentView(R.layout.activity_main);
Sekarang sudah berfungsi.
Dan kita dapat mencoba opsi lain di Style.xml ,
sumber
Tambahkan ini di nilai / styles.xml Anda
Dan tambahkan kode berikut di values-v11 / styles.xml Anda dan values-v14 / styles.xml
Itu dia. Itu akan berhasil.
sumber
Anda perlu berubah
garis-garis ini dalam manifes. Ini akan bekerja dengan baik untuk saya.
sumber
Buka 'style.xml' proyek Anda dan buat windowActionBar menjadi false
sumber
Tambahkan dua baris ini di tema aplikasi Anda yang terletak di style.xml: -
sumber
Toolbar saya sudah ditambahkan di xml saya. Kemudian dalam aktivitas saya, saya menambahkan pernyataan ini:
Menghapus ini berhasil untuk saya. Saya harap ini membantu seseorang.
sumber
Jika Anda mendapatkan kesalahan pada baris ini:
Anda perlu memeriksa apakah aktivitas Anda merujuk ke tema yang berisi bilah alat. AppTheme aplikasi Anda mungkin sudah mengandung bilah alat, seperti
dan Anda mencoba menambahkan yang kedua. Jika Anda ingin menggunakan AppTheme aplikasi Anda, Anda perlu menghapus tema dari aktivitas Anda, di file manifest.xml.
Sebagai contoh:
sumber
Gunakan ini di dalam tag aplikasi Anda dalam manifes atau di dalam tag Aktivitas Anda.
sumber
Jika Anda menggunakan
Appcompact
Aktivitas, gunakan tiga baris ini dalam tema Anda.sumber
Sederhananya, Anda dapat melakukan hal berikut: -
sumber
Inilah cara saya memecahkan masalah. Tambahkan kode di bawah ini di
AndroidMainfest.xml
sumber
Atau Cukup ubah @ Style / AppTheme
Ini bekerja untuk saya!
sumber
sumber
Ada dua solusi sederhana dan cepat
pergi ke res -> values -> styles
ANDA juga dapat menonton video ini untuk kemudahan lainnya. KLIK DI SINI
Solusi 1:
Anda dapat menghapus bilah tindakan dengan mengganti
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
untuk
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Solusi2:
Cukup tambahkan baris ini
<item name="windowActionBar">false</item> <item name="windowNoTitle">true</item>
Jadi sekarang file gaya Anda terlihat seperti ini
`
`
sumber
Saya menyelesaikannya dengan menghapus baris ini:
android:theme="@style/Theme.MyCompatTheme"
dari properti aktivitas di
Manifest file
sumber
Taruh saja
parent="Theme.AppCompat.NoActionBar"
dalam file style.xml AndaSuka -
<style parent="Theme.AppCompat.NoActionBar" name="AppTheme.NoActionBar">
sumber