Попытка переместить мои вещи для использования Toolbar
вместо панели действий, но я получаю сообщение об ошибке
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)
поэтому я добавил в своем стиле, чтобы в моей активности не было панели действий
<style name="AppCompatTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:windowActionBar">false</item>
</style>
и тема относится к активностям в моем манифесте
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustResize|stateHidden"
android:theme="@style/AppCompatTheme" android:screenOrientation="portrait"/>
MainActivity расширяет GooglePlayServiceActivity, поэтому я тоже установил там тему
<activity
android:name=".GooglePlayServicesActivity"
android:label="@string/title_activity_google_play_services"
android:theme="@style/AppCompatTheme">
но я все еще получаю ошибку. Я также нигде не запрашиваю оконную функцию. есть идеи, почему я до сих пор это понимаю?
windowActionBar
не то же самоеandroid:windowActionBar
?Другой простой способ - сделать вашу тему дочерней
Theme.AppCompat.Light.NoActionBar
примерно так:источник
GooglePlayServiceActivity
, я не помнюДобавить одну строку ,
android:theme="@style/AppTheme.NoActionBar"
чтобыactivity
вAndroidManifest
и вы сделали.AndroidManifest.xml :
styles.xml
источник
Чтобы использовать панель инструментов в качестве панели действий, сначала отключите предоставленную декором панель действий.
Самый простой способ - расширить тему
(или его легкий вариант).
Во-вторых, создайте экземпляр панели инструментов, обычно с помощью XML-макета:
Затем в своей деятельности или фрагменте установите панель инструментов в качестве панели действий:
Этот код работал для меня.
источник
<android.support.v7.widget.Toolbar
в XML.Если вы хотите объединить некоторые действия с панелью действий, а другие нет, вам следует использовать базовую тему с включенной панелью действий, а затем создать подтему, которую вы собираетесь использовать в действиях, для которых не требуется панель действий.
Например, вы можете использовать такой подстиль
В то время как базовая тема расширяется, скажем
а затем используйте тему без действия панели в файле AndroidManifest в теге активности скажем
Вы должны применить это к каждому отдельному действию, которое не нуждается в панели действий, поэтому, если ваш проект требует меньше действий панели действий, чем не, тогда лучше применить это на уровне базовой темы
источник
Я также столкнулся с той же проблемой. Но я использовал:
getSupportActionBar().hide();
перед
setContentView(R.layout.activity_main);
Теперь это работает.
И мы можем попробовать другой вариант в Style.xml ,
источник
Добавьте это в ваши values / styles.xml
И добавьте следующий код в ваши values-v11 / styles.xml и values-v14 / styles.xml
Это оно. Это будет работать.
источник
Вам нужно изменить
эти строки в манифесте. Это будет отлично работать для меня.
источник
Перейдите в style.xml вашего проекта и установите windowActionBar в false
источник
Добавьте эти две строки в тему вашего приложения, расположенную в style.xml: -
источник
Мне добавили панель инструментов в мой XML. Затем в своей деятельности я добавил это утверждение:
Удаление этого сработало для меня. Надеюсь, это кому-нибудь поможет.
источник
Если вы получили ошибку в этой строке:
Вы должны проверить, относится ли ваша деятельность к теме, содержащей панель инструментов. AppTheme вашего приложения может уже содержать панель инструментов, такую как
и вы пытаетесь добавить второй. Если вы хотите использовать AppTheme вашего приложения, вам нужно удалить тему из вашей деятельности в файле manifest.xml.
Например:
источник
Используйте это внутри тега приложения в манифесте или внутри тега Activity.
источник
Если вы используете
Appcompact
Activity, используйте эти три строки в своей теме.источник
Проще говоря, вы можете сделать следующее: -
источник
Вот как я решил проблему. Добавьте ниже код в вашем
AndroidMainfest.xml
источник
Или просто измените @ Style / AppTheme
Это работает для меня!
источник
источник
Есть два простых и быстрых решения
перейти к res -> значения -> стили
Вы также можете посмотреть это видео для большей легкости НАЖМИТЕ ЗДЕСЬ
Решение 1:
Вы можете удалить панель действий, заменив
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
в
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Solution2:
Просто добавьте эти строки
<item name="windowActionBar">false</item> <item name="windowNoTitle">true</item>
Итак, теперь ваш файл стиля выглядит следующим образом
`
`
источник
Я решил это, удалив эту строку:
android:theme="@style/Theme.MyCompatTheme"
от свойств деятельности в
Manifest file
источник
Просто положи
parent="Theme.AppCompat.NoActionBar"
в свой файл style.xmlПодобно -
<style parent="Theme.AppCompat.NoActionBar" name="AppTheme.NoActionBar">
источник