Pergunta

Eu gostaria de adicionar o Biblioteca Bootstrap do Android ao meu projeto usando Android Studio (segui este tutorial).

Vejo o Android Bootstrap e meu projeto no Project Explorer, mas se eu tentar adicionar um botão de bootstrap

 <!-- basic button -->
    <com.beardedhen.androidbootstrap.BootstrapButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="Success"
        bootstrapbutton:bb_icon_right="fa-android"
        bootstrapbutton:bb_type="success"
        />

Eu recebi a seguinte mensagem de erro:

compilador android-apt:layout/atividade_main.xml:56:erro:Nenhum identificador de recurso encontrado para o atributo 'bb_icon_right' no pacote 'com.carfinder'

O que estou fazendo de errado?

Foi útil?

Solução

ATUALIZADA:

Certifique-se de que a estrutura do seu projeto deve ficar assim, sua biblioteca pode estar dentro de algum diretório, como bibliotecas>AndroidBootStrapLibrary sem problemas, nesse caso basta alterar o caminho em settings.gradle e build.gradle

    ----YOUR_PROJECT
       ---AndroidBootStrapLibrary
         --res
         --src
         -- .....
         -- build.gradle(must contain apply plugin: 'android-library' 
            if not that menas not library project you have added something wrong)
       ---YOUR_MODULE
         --res
         --src
         --build.gradle (no : A)
   ----settings.gradle

build.gradle (Não.Um arquivo

  dependencies {
       compile 'com.android.support:appcompat-v7:+'
       compile 'com.android.support:support-v4:18.0.+'
       compile project(':AndroidBootStrapLibrary')
  }

configurações.gradle:

  include ':YOUR_MODULE'
  include ':AndroidBootStrapLibrary'

Afinal, sincronize o projeto com o Gradle

sync project with gradle

Você esqueceu de adicionar namespace para a visualização personalizada na biblioteca.

Substitua seu código para botão por este

     <com.beardedhen.androidbootstrap.BootstrapButton
         xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_margin="10dp"
         android:text="Success"
         bootstrapbutton:bb_icon_right="fa-android"
         bootstrapbutton:bb_type="success"
    />

adicione namespace em outras visualizações também, se você estiver usando.Você também pode adicioná-lo ao elemento raiz do seu arquivo de layout, como

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context="com.example.app.MainActivity$PlaceholderFragment">

     <TextView
         android:text="@string/hello_world"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />

     <com.beardedhen.androidbootstrap.BootstrapButton
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_margin="10dp"
         android:text="Success"
         bootstrapbutton:bb_icon_right="fa-android"
         bootstrapbutton:bb_type="success"
    />

  </RelativeLayout>

Carreguei um projeto de teste funcional aqui (formulário de checkout do github no AS)

https://github.com/pyus-13/TesstApp.git

Outras dicas

Caso alguém esteja tentando adicionar esta biblioteca e se depare com esta questão, mas tenha problemas diferentes, acho que valeria a pena mencionar todas as etapas que funcionaram para mim (adaptei o wiki de outra biblioteca aqui):

  1. Abra seu projeto no Android Studio
  2. Baixe a biblioteca (usando Git ou um arquivo zip para descompactar)
  3. Vá para a pasta onde você descompactou a biblioteca > AndroidBootstrap > build.gradle
  4. Remover 'aplicar de:'push.gradle'
  5. Substituir Integer.parseInt(TARGET_SDK_INT), Integer.parseInt(MIN_SDK_INT), Integer.parseInt(VERSION_CODE), VERSION_NAME, "25.0.1" com as versões do seu projeto.Você pode encontrá-los em Gradle Scripts > build.gradle
  6. Vá em Arquivo > Importar Módulo e importe a biblioteca (você só precisa do AndroidBootstrap pasta, não todo o código da ramificação)
  7. Vá em Arquivo > Estrutura do Projeto
  8. Localize o módulo principal do seu projeto e clique nele.(você também deve ver AndroidBootstrap abaixo dele)
  9. Clique nele e vá para Dependências.
  10. Clique no botão verde esquerdo "+" > Dependência do módulo
  11. Selecione "AndroidBoostrap"

E agora tudo deve funcionar.

Você ainda pode receber um erro em seus arquivos .xml ao tentar adicionar um elemento da biblioteca AndroidBoostrap "Namespace 'app' não está vinculado.".Você pode resolver isso clicando em ALT + ENTER no erro no Android Studio ou adicionando esta linha

xmlns:app="http://schemas.android.com/apk/res-auto"

após a declaração ou seu Layout e xmlns:tools, por exemplo

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"

Não sei se esta é a solução mais precisa sobre como incluir uma biblioteca, pois sou iniciante em Android, mas funcionou para mim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top