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

Ashish Goyal
fonte
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.

eee
fonte
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

Sagar Devanga
fonte
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!

Sudoz
fonte
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.

ʍѳђ ઽ ૯ ท
fonte
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.

Austin Capobianco
fonte
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.

Kley
fonte
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

Andrecon
fonte
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