Tentando mover minhas coisas para usar em Toolbar
vez da barra de ação, mas continuo recebendo um erro dizendo
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)
então adicionei no meu estilo para que minha atividade não tivesse barra de ação
<style name="AppCompatTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:windowActionBar">false</item>
</style>
e o tema se aplica a atividades no meu manifesto
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustResize|stateHidden"
android:theme="@style/AppCompatTheme" android:screenOrientation="portrait"/>
MainActivity estende GooglePlayServiceActivity, então também defini o tema também
<activity
android:name=".GooglePlayServicesActivity"
android:label="@string/title_activity_google_play_services"
android:theme="@style/AppCompatTheme">
mas ainda recebo o erro. Eu também não solicito o recurso de janela em qualquer lugar. alguma idéia de por que eu ainda entendo isso?
windowActionBar
não é o mesmo queandroid:windowActionBar
?Outra maneira fácil é transformar seu tema em algo
Theme.AppCompat.Light.NoActionBar
assim:fonte
GooglePlayServiceActivity
, eu não lembroAdicione uma única linha
android:theme="@style/AppTheme.NoActionBar"
aoactivity
inAndroidManifest
e pronto.AndroidManifest.xml :
styles.xml
fonte
Para usar a Barra de Ferramentas como uma Barra de Ação, primeiro desative a Barra de Ação fornecida pela decoração.
A maneira mais fácil é fazer com que seu tema se estenda de
(ou sua variante leve).
Segundo, crie uma instância da barra de ferramentas, geralmente por meio do XML de layout:
Em sua Atividade ou Fragmento, defina a Barra de Ferramentas para atuar como sua Barra de Ação:
Este código funcionou para mim.
fonte
<android.support.v7.widget.Toolbar
ao XML.Se você deseja combinar algumas atividades com a barra de ação e outras não, use o tema base com a barra de ação ativada e, em seguida, crie um subtema que você o usará em atividades que não exigem barra de ação
Por exemplo, você pode usar um sub-estilo como este
Enquanto o tema base se estende, diga
e use o tema não da barra de ação no arquivo AndroidManifest na tag de atividade, digamos
você deve aplicar isso a cada atividade individual que não precisa da barra de ação. Se o seu projeto exigir menos atividades da barra de ação do que não, é melhor aplicá-lo no nível do tema base
fonte
Eu também enfrentei o mesmo problema. Mas eu usei:
getSupportActionBar().hide();
antes
setContentView(R.layout.activity_main);
Agora está funcionando.
E podemos tentar outra opção no Style.xml ,
fonte
Adicione isso em seus values / styles.xml
E adicione o seguinte código nos valores-v11 / styles.xml e values-v14 / styles.xml
É isso aí. Vai funcionar.
fonte
Você precisa mudar
essas linhas no manifesto. Funcionará perfeitamente para mim.
fonte
Vá para 'style.xml' do seu projeto e torne windowActionBar como false
fonte
Adicione essas duas linhas no tema do seu aplicativo, localizado em style.xml: -
fonte
Eu tinha a barra de ferramentas adicionada no meu xml. Então, na minha atividade, eu estava adicionando esta declaração:
Remover isso funcionou para mim. Eu espero que isso ajude alguém.
fonte
Se você receber o erro nesta linha:
Você precisa verificar se sua atividade está se referindo a um tema que contém uma barra de ferramentas. O AppTheme do seu aplicativo já pode conter uma barra de ferramentas, como
e você está tentando adicionar um segundo. Se você deseja usar o AppTheme do seu aplicativo, é necessário remover o tema da sua atividade, no arquivo manifest.xml.
Por exemplo:
fonte
Use isso dentro da tag do aplicativo no manifesto ou dentro da tag Activity.
fonte
Se você estiver usando o
Appcompact
Activity, use estas três linhas no seu tema.fonte
Simplificando, você pode fazer o seguinte: -
fonte
Foi assim que resolvi o problema. Adicione o código abaixo em seu
AndroidMainfest.xml
fonte
Ou simplesmente mude o @ Style / AppTheme
Isso funciona para mim!
fonte
fonte
Existem duas soluções simples e rápidas
vá para res -> valores -> estilos
Você também pode assistir a este vídeo para mais facilidade CLIQUE AQUI
Solução 1:
Você pode remover a barra de ação substituindo
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
para
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Solution2:
Basta adicionar essas linhas
<item name="windowActionBar">false</item> <item name="windowNoTitle">true</item>
Então agora seu arquivo de estilo fica assim
`
`
fonte
Eu resolvi removendo esta linha:
android:theme="@style/Theme.MyCompatTheme"
das propriedades da atividade no
Manifest file
fonte
Basta colocar
parent="Theme.AppCompat.NoActionBar"
no seu arquivo style.xmlGostar -
<style parent="Theme.AppCompat.NoActionBar" name="AppTheme.NoActionBar">
fonte