theme - style appbar android




Não é possível encontrar Theme.AppCompat.Light para suporte a novos Android ActionBar (20)

Estou tentando implementar a nova biblioteca de suporte do ActionBar que foi lançada pelo Google alguns dias atrás. No passado, implementei sem sucesso o ActionBarSherlock usando o mesmo método listado na página Configuração da Biblioteca de Suporte do Google Developer - usando o guia sobre como incluir os recursos (que é semelhante a como o ActionBarSherlock fez isso). Eu tenho o projeto de biblioteca carregado no meu próprio projeto como uma biblioteca também.

Eu posso dizer que a biblioteca está carregando bem. Quando, em vez de estender Activity no meu MainActivity.java, eu o alterei para estender ActionBarActivity (conforme as instruções do Google), nenhum erro ocorre - e ele importa corretamente.

Eu até tentei ignorar o arquivo style.xml e adicionar @style/Theme.AppCompat.Light diretamente no AndroidManifest.xml para <application> e <activity> com android:theme="@style/ThemeAppCompat.Light" com todos tentativas resultando no mesmo erro.

Agora, o problema é que não consigo alterá-lo, muito menos mesmo criar sem gerar um erro. Abaixo está o erro que estou recebendo, seguido pelo arquivo style.xml que alterei para usar o novo tema.

Tenho experiência moderada trabalhando com aplicativos Android e estou executando o Eclipse com a versão mais recente das bibliotecas de suporte e SDK compilando com API 18 (Android 4.3).

Erro recebido durante a compilação

Erro: Erro ao recuperar pai para item: Nenhum recurso encontrado que corresponda ao nome dado '@ style / Theme.AppCompat.Light'. styles.xml / ActBarTest / res / values ​​line 3 Problema do Android AAPT

style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
    </style>
</resources>

Alguma sugestão? Isso nunca foi um problema com o ActionBarSherlock. Eu quero trabalhar usando essa nova biblioteca de suporte. Parece quase que o .jar está carregando, mas não os recursos.


Solução IntelliJ IDEA.

1. Execute o Android SDK Manager e instale o mais recente SDK e Android Support Libarary . A versão do SDK e do Android Support Libarary deve ser a mesma ! 23 no meu caso. Outras variantes lhe darão os erros.

2. Altere a versão do SDK do seu projeto IDEA para o último que você instalou na etapa anterior. (ps. você não pode usar o Maven).

3. Adicione um novo módulo do sourse existente ao seu projeto IDEA.

4. Adicione o projeto AppCompat. !!! Deve estar sob o último SDK também! (ps. Diga "Sim" em qualquer lugar no processo desta etapa)

5. Abra as configurações do seu Módulo de Projeto principal e adicione as 3 dependências seguintes:

5.1. Dependência do Módulo. Escolha android-suporte-v7-appcompat

5.2. 2 pc Dependências de biblioteca. Adicione android-sdk \ extras \ android \ suporte \ v7 \ appcompat \ libs \ android-support-v4.jar e android-support-v4 \ android-support-v7-appcompat.jar

No total será:

6. Muito importante !!!
Adicione o tema com o prefixo @style (não outro!) .



Solução do Android Studio.

1. Execute o Android SDK Manager e instale o mais recente SDK e Android Support Libarary . A versão do SDK e do Android Support Libarary deve ser a mesma ! 23 no meu caso. Outras variantes lhe darão os erros.

2. Adicionar ao lado de build.gradle

dependencies {
    compile 'com.android.support:appcompat-v7:23.0.1'
} 

PS Se você é novato no desenvolvimento do Android, recomendo que mude para o Android Studio & Gradle agora mesmo - você terá a maneira mais simples de gerenciar seu aplicativo Android.


É melhor você fazer um novo projeto com qualquer nome, então use appcompat_v7 que o programa faz novo.

Right Click Project-> properties->Android

Na biblioteca de seções, clique em Add e escolha library appcompat.


A solução aceita costumava funcionar para mim uma vez, mas não agora. Eu tive que recriar um hello-world do mesmo tipo (!) Em um novo espaço de trabalho, compilar e depois copiar todos os diretórios, incluindo .hg e .hgignore . hg diff mostra:

-        android:targetSdkVersion="19" />
+        android:targetSdkVersion="21" />

Binary file libs/android-support-v4.jar has changed

Parece que o Eclipse quer compilar para a API 21 e não consegue fazer nada com a API 19. Darkly.


Aconteceu comigo quando o Eclipse (Luna) / AndroidSDK (não o Android Stduio) foi usado com as ferramentas e bibliotecas mais recentes a partir de 14 de janeiro de 2015 durante o projeto como o HelloWorld. Quando instalei essas ferramentas e tornei o HelloWorld o primeiro aplicativo, aceitei todos os padrões. - Esse é o problema no meu caso.

Primeiro, verifique se a biblioteca "Biblioteca de suporte do Android" está instalada ou não. Se não, instale-o. Não é instalado por padrão. Você pode fazer tudo no "Gerenciador do Android SDK" disponível no menu.

(Gerenciador do Android SDK -> Extra -> Biblioteca de suporte do Android)

Bênçãos, (um devedor) <> <


Esqueça tudo. Basta usar a biblioteca appcompat baixada usando o Android Studio. Tem todas as definições ausentes. Não importa se você está usando no Eclipse ou não.


Esse é um problema que pode acontecer no Android Studio se você modificar os módulos da estrutura do projeto. Neste caso, você pode precisar adicionar as dependências novamente. Em um editor de texto, edite o arquivo 'build.gradle' para incluir as dependências necessárias:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Isso deve atualizar seu arquivo '{your_project_name} .iml' com componentes lib:

<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />

Eu fiz o seguinte no Eclipse com o projeto APL (Android Support Library) e o projeto principal ( MP ):

  1. Assegurei que tanto o APL quanto o MP tivessem as mesmas minSdkVersion e targetSdkVersion .

  2. Adicionado APL como uma dependência de compilação para o MP :

    1. Indo para "Propriedades> Java Build Path" do MP e, em seguida,

    2. Selecionando a aba "Projetos" e adicionando o APL .

  3. Nas propriedades do MP , em "Android", adicionamos uma referência ao APL na biblioteca.

1 e 2 tem as referências para classes Java funcionando bem ... no entanto eu ainda vi o erro no manifest.xml para MP ao tentar referenciar @style/Theme.AppCompat.Light de APL . Isso só foi embora quando realizei o passo 3.


Eu não sei quantos de vocês notaram isso. Apoie a biblioteca "appcompat_v7" e seu projeto deve estar em um mesmo diretório (quero dizer diretório do espaço de trabalho). Não limpe o seu projeto até que esteja livre de erros, senão você terá dificuldades com o R.java


Eu tive o mesmo problema e, mesmo depois de importar / adicionar um jar / library, como mencionado nas respostas, isso não resolveria o erro. Fora de frustração, acabei de criar um novo espaço de trabalho e criei um novo projeto android e importou automaticamente appcompat_v7 e não houve erros na limpeza e construção. Não foi necessário importar um único frasco / biblioteca manualmente. Apenas FYI eu estou usando eclipse Mars.1 Release (4.5.1) e estava enfrentando exatamente o mesmo problema toda vez que eu criei um novo projeto android.


Eu tive o mesmo problema que o OP depois de clicar com o botão direito no meu projeto e selecionar Close Unrelated Projects .

No meu caso, resolvi o problema abrindo novamente o projeto appcompat_v7 e limpando / reconstruindo os dois projetos.


Não tenho certeza se a biblioteca de suporte v13 estava disponível quando essa pergunta foi postada, mas no caso de alguém ainda estar com dificuldades, vi que adicionar o android-support-v13.jar corrige tudo. Foi assim que eu fiz:

  1. Clique com o botão direito no projeto -> Propriedades
  2. Selecione Java Build Path na tabela de conteúdo do lado esquerdo
  3. Vá para a guia Bibliotecas
  4. Adicione o botão External jars e selecione <your sdk path>\extras\android\support\v13\android-support-v13.jar

No meu caso, o problema ocorreu desde que eu queria usar um SDK que não inclui a biblioteca necessária. Quando eu aumentei o min. SDK level o problema desapareceu. É claro que incluir diretamente a própria biblioteca também deve remover o erro.


Para IntelliJ IDEA ou Android Studio:

Adicione isso ao arquivo de compilação app.gradle

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

Substitua -v:xx.0+ , com seu destino de compilação, se você tiver 19 plataformas, deve ser como:

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

Para o Android Studio ou o IntelliJ, tudo o que você precisa fazer é atualizar suas dependências no gradle.build. Eu usei o seguinte:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.2'
}

Se, como eu, você estiver seguindo o tutorial do Android em http://developer.android.com/training/basics/actionbar/setting-up.html e continuar recebendo esse erro, tente alterar o estilo AppBaseTheme em todos os styles.xml arquivos. Em detalhe:

  1. No arquivo res/values/styles.xml altere a linha:

    <style name="AppBaseTheme" parent="android:Theme.Light">

    para:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
  2. No arquivo res/values-v11/styles.xml altere a linha:

    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">

    para:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
  3. No arquivo res/values-v14/styles.xml altere a linha:

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

    para:

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

Agora o aplicativo deve funcionar bem.


Siga os passos de @rcdmk. Exclua o suporte android v4.jar no seu projeto. Ele entra em conflito com a nova versão atualizada encontrada no appcompat.


Você precisa fazer o seguinte:

  1. File->Import (android-sdk\extras\android\support\v7) . Escolha "AppCompat"
  2. Project-> properties->Android. Na seção biblioteca "Adicionar" e escolha "AppCompat"
  3. Isso é tudo!

Nota: se você está usando "android: showAsAction" no item de menu, você precisa alterar o prefixo android como no exemplo ActionBar


no eclipse, clique com o botão direito do mouse em seu projeto-> selecione o caminho de construção e, em seguida, selecione configurar o caminho de construção. a partir da janela, selecione o arquivo jar que você deseja e atualize seu projeto


você precisa de referência $ ANDROID_SDK / extras / android / support / v7 / appcompat






android-actionbar-compat