As seguintes classes não foram encontradas: android.support.v7.internal.app.WindowDecorActionBar


114

O que causa o seguinte erro na visualização do layout no Android Studio?

Problemas de renderização As seguintes classes não foram encontradas: - android.support.v7.internal.app.WindowDecorActionBar (Corrigir caminho de construção, criar classe) Dica: tente construir o projeto.


14
encerrado como fora do tópico? seriamente? Aqueles que votaram para fechar este definitivamente não entendem a questão.
Jahid de

Respostas:


273

A Actionbar foi descontinuada e substituída pela Toolbar. Dito isso, você pode fazer o seguinte se quiser continuar usando o Actionbar por enquanto:

  1. Abra styles.xml na pasta de valores dentro da pasta res.
  2. Adicione a palavra Base ao início do nome do tema para que leia "Base.Theme.AppCompat.Light.DarkActionBar"

insira a descrição da imagem aqui

Eu tive o mesmo problema hoje e essa solução funcionou para mim. Para sua informação, estou no Android Studio, mas espero que a solução seja semelhante para o Eclipse.

Para sua informação, aqui está uma postagem de blog decente sobre a substituição da Actionbar pela Toolbar para quando você estiver pronto para fazer isso: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/


8
Nada como o Goog mudando as coisas debaixo de você. Novamente. Boa localização @joshgoldeneagle!
saywhatnow

7
Recebi este erro ao criar um novo projeto padrão no Android Studio. Isso resolveu.
AutonomousApps

Depois de um dia de pesquisa, finalmente encontrei a solução. Obrigado @joshgoldeneale
Abish R

se "Base.Theme.AppCompat.Light.DarkActionBar" não funcionar, você deve tentar "Theme.Base.AppCompat.Light.DarkActionBar" porque funciona para mim ... :) (android studio 3.0.1)
Mang Jojot

Você é incrível
Naveed Ahmad

46

Eu acho que você deve estar dependendo "com.android.support:appcompat-v7:23.1.1"em suas moduleconfigurações.

ActionBar foi descontinuado.

Basta alterar suas dependências de 'com.android.support:appcompat-v7:23.1.1'para 'com.android.support:appcompat-v7:23.0.1'em "build.gradle" .

Você também pode alterar seu pai de estilo para "Theme.AppCompat.Light.NoActionBar".

Tente usar o em Toolbarvez de ActionBar.


32

Este funciona para mim

Alterar o pai AppTheme em res / values ​​/ styles.xml resolveu esse problema. Substituir

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

com

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

Ou você pode alterar o nível de API 21 da lista.


6
Isso funciona, mas o que exatamente faz quando você coloca Base.Theme?
Micro

O Android introduziu uma barra de ferramentas no lugar da barra de ação, que é a causa desse erro, mas ao alterá-la para Base.Theme você está simplesmente resolvendo o problema. Por padrão, ele não muda sozinho (na versão atual do Android Studio), então temos que fazer manualmente. Você também pode passar por outras respostas que também lhe dizem a mesma coisa. Desculpe, eu estava ocupado no projeto, então não posso responder rápido.
Ravikant Paudel

9

ir para: res -> valores -> estilos (V21) ->

Código

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

selecione seu tema como Apptheme.NoActionBarna visualização . Porque ActionBaré depreciado, seja bem-vindo de volta ToolBar. NÃO há necessidade de alterar suas dependências em build.gradle(Module:app). de com.android.support:appcompat-v7:23.1.1paracom.android.support:appcompat-v7:23.0.1 .

Espero que isso ajude você !!!


8

Tive um problema semelhante e, como muitos disseram, desde que a ActionBar foi descontinuada, o truque era especificar

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

NOTA: o pai termina em .NoActionBar.

Uma vez que a ActionBar se tornou obsoleta, o Android passou a usar a ToolBar, sobre a qual você pode ler aqui no developer.android.com

Eu tentei especificar

<style name="AppTheme.NoActionBar">

Como afirmou um outro post e que gerou erros. Embora outros possam não ter esse problema.


4

Tenho o mesmo problema no Android Studio 1.5 (mesmo com AppCompatActivity) e minha tentativa de resolver o problema foi atualizar meu Android Studio para 2.0. Resolve o problema no meu caso. Você pode encontrar o link para download em: http://tools.android.com/download/studio/canary/latest


Além disso, o Android Studio 2.0 tem execução instantânea, o que é muito legal na minha opinião. Meu código é atualizado instantaneamente no meu dispositivo. Você realmente deveria tentar isso.
ninjahoahong


3

obrigado @joshgoldeneagle, trabalhei no AS v1.4 para mim. também eficaz no AS é abrir "build.gradle (Module.app)" e alterar a versão de v7.23.1.1 para v7.23.0.1 -hth


2

Conserto rápido

Selecione um tema sem AtcionBar na UI Preview Tool
Escolha o botão da imagem insira a descrição da imagem aqui


2

Você precisará alterar o nível de renderização da api para 17, pode haver problemas de renderização com apis de nível superior, pode haver apis de nível superior supondo que tenham um tema padrão e espero que você não tenha especificado nenhum.

insira a descrição da imagem aqui


1

Para AS v1.4, adicionar "Base" antes de Theme.AppCompat.Light.DarkActionBar na pasta styles.xml resolveu o problema

Além disso, a atualização para AS v2.1 também resolveu o problema. O que é mais provável depende dos colaboradores e de sua versão AS.


0

Em res / values ​​/ styles.xml, você encontrará seu AppTheme conforme abaixo: -

Altere para: -

adicionando "Base", o problema de renderização será resolvido.


0

Mudar o tema no manifesto resolveu meu problema.

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.