Android Bootstrap e Android Studio não podem adicionar biblioteca
-
26-12-2019 - |
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?
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
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)
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):
- Abra seu projeto no Android Studio
- Baixe a biblioteca (usando Git ou um arquivo zip para descompactar)
- Vá para a pasta onde você descompactou a biblioteca > AndroidBootstrap > build.gradle
- Remover 'aplicar de:'push.gradle'
- 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
- 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)
- Vá em Arquivo > Estrutura do Projeto
- Localize o módulo principal do seu projeto e clique nele.(você também deve ver AndroidBootstrap abaixo dele)
- Clique nele e vá para Dependências.
- Clique no botão verde esquerdo "+" > Dependência do módulo
- 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.