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.