ERRO: problemas de renderização As seguintes classes não foram encontradas android.support.v7.internal.widget.ActionBarOverlayLayout


97

Sou apenas um iniciante no desenvolvimento de aplicativos Android. Quando eu criei um novo projeto no Android Studio 1.1.0, ele desiste deste erro " problemas de renderização As seguintes classes não foram encontradas android.support.v7.internal.widget.ActionBarOverlayLayout "

Agora eu pesquisei sobre isso no google e encontrei possivelmente 3 soluções fornecidas pela maioria das pessoas.

Eles dizem:

  1. Altere o api (do painel da janela de visualização) de 22 para 21 ou

  2. Altere o tema do aplicativo de "Tema do projeto" para qualquer outro tema.

  3. certifique-se de ter importado a biblioteca appcompat-v7 correta em sua estrutura de projeto -> dependências, consulte estas etapas : Adicione o identificador de projeto de recurso de biblioteca de suporte à seção de dependências. Por exemplo, para incluir o projeto appcompat, adicione compilar "com.android.support:appcompat-v7:18.0.+" à seção de dependências, conforme mostrado no exemplo a seguir:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:18.0.+" }

Nota: Minha biblioteca de suporte para Android está atualizada (instalei-a usando o SDK Manager).

Seguindo as duas primeiras etapas, o erro foi removido. Mas eu sinto que essas não são as soluções permanentes, a segunda etapa parece apenas uma solução temporária. Tenho dúvidas sobre a primeira etapa também, que se para remover o erro mudarmos a api de 22 para 21, então no final, nosso app não funcionará no Android 5.1.1 (API 22), ficaria restrito ao Android 5.0 .1 e abaixo apenas (API 21). Minhas dúvidas são válidas? Em relação à terceira etapa, é a solução permanente para este problema?

PS: Desculpe por tags incompatíveis, não foi permitido adicionar tags exatas devido à reputação do site


1
Para mim, mesmo as duas primeiras etapas não resolvem o problema ... Estou recebendo "problemas de renderização" com todos os layouts que têm visualizações de android.support. *. Isso é frustrante!
— user1987392

Respostas:


162

Corrija res / values ​​/ styles.xml assim:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"/>

Explicação detalhada conforme solicitado: Theme.AppCompat.Light.DarkActionBaré uma subclasse da superclasse de Basequalquer maneira. Ctrl + clique (Android Studio) nele e você será levado à fonte:

<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />

Não mudamos nada, apenas definimos com mais precisão.


29
Uau, que experiência fora da caixa ruim no Android Studio.
— Warren P

6
Se eu quiser usar "Theme.AppCompat.Light.NoActionBar", o quê?
— Haseeb Jadoon

4
Estranhamente, adicionando a palavra "Base". trabalhou para mim. "Todas as suas bases pertencem a nós."
— SMBiggs

1
Funcionou para mim também ... Estou trabalhando em um aplicativo antigo e o Base corrigiu o erro!
— Saeid Yazdani

1
Por que definir precisamente o tema corrige o problema?
— Robert

28

Este é um bug conhecido desde o Android Studio build 1.1 (também ainda está na visualização 1.2 e 1.3). Mudar o nível de API da visualização de 22 para 21 corrige o problema para a maioria das pessoas. Enquanto espera por uma correção, você também pode tentar.

insira a descrição da imagem aqui

Originalmente respondido aqui: Problemas de renderização no Android Studio v 1.1 / 1.2

Apenas repostando


16

Modifique src / res / values ​​/ styles.xml

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

Em seguida, selecione API22, você encontrará este problema corrigido!


3

Após este erro, estou usando:

API-22 Android 5.1.1 e ainda existe esse problema. Mas você pode, na parte superior da barra de ferramentas do Android Studio, escolher:

Material Light -> Material Light

e então você pode ver a visualização com a barra de ferramentas e o tema claro.

Espero que isto ajude.


1

Corrigi esse problema mudando para o tema Holo Dark e, em seguida, de volta para o tema do aplicativo. Acabei de clicar no botão acima do visualizador que diz Tema do aplicativo ao lado da visualização girar no Android Studio. Cerca de 10% das vezes, isso sozinho não funciona e também tenho que alterar a API do visualizador de 22 para 19.

Não tenho ideia de por que isso funciona, mas as sugestões fornecidas acima não funcionaram para mim.


0

Você não precisa mudar o tema. Talvez você esteja estendendo ActionBarActivity (obsoleto) em vez de apenas Activity. Mude-o e construa o projeto.


Novas regras @Kleyton, em vez de estender ActionBarActivity (que agora está obsoleto), é aconselhável estender AppCompatActivity (de acordo com as páginas de desenvolvedor do Google Android).
— Ashish Goyal

0

Se você alterar a atividade de ActionBarActivity para apenas Activity, não se esqueça de importar a própria Activity. Isso é

import android.app.Activity

É uma merda, mas hey, é culpa deles e não nossa.

Além disso, você pode simplesmente alterar o tema pressionando "AppTheme" e escolher Holo.Light.DarkActionBar. Ele atualiza o arquivo styles.xml automaticamente. Depois disso, reconstrua o projeto.

Eu fiz tudo isso e funciona para mim, embora eu ache que os caras do Google e do IntelliJ deveriam fazer algo sobre esse problema de renderização, já que nos disseram para mudar do Eclipse para o Android Studio


Novas regras surgiram mano! Em vez de estender ActionBarActivity (que agora está obsoleto), é aconselhável estender AppCompatActivity (de acordo com as páginas de desenvolvedor do Google Android).
— Ashish Goyal

Funciona da mesma forma que o Activity? E ele cuida dos problemas de renderização de XML?
— Andrecon

De acordo com as páginas do desenvolvedor do Google Android, ele (AppCompatActivity) cuida de tudo que ActionBarActivity costumava fazer
— Ashish Goyal
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.