Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Ícone do botão não aparece, é um retângulo cinza.

O ícone selecionado para o botão não aparece. Já tentei mudar o ícone e reiniciar a IDE, mas o "botão" continua só como um retângulo cinza. O código completo do projeto está aqui:

https://github.com/BrdEase/duvida-alura

O posicionamento do botão foi feito a partir de outra dúvida aqui no fórum, uma vez que o editor da IDE não conseguia mover o FAB. Umas linhas de XML não citadas na aula resolveram o problema.

Notei que essa é uma dúvida muito recorrente aqui no fórum, mas nunca foi resolvida. Então creio ser um problema importante, uma vez que não posso progredir no curso até que isso seja solucionado. O botão não pode simplesmente não herdar nenhum estilo, de maneira a não se assemelhar com o projeto do instrutor.

Conto com vocês para progredir no curso.

6 respostas

Cara, eu tava com o mesmo problema e fiz algumas ações que podem ajudar. Não manjo nada de programação, então foi na tentativa e erro, mas segue

1 . Olhando sua activity_main O float não vi especificado o background eu coloquei assim:

    app:backgroundTint="@android:color/transparent"

Já o Compat, símbolo do meio ta declarado no seu

    app:srcCompat="@android:drawable/btn_star_big_on"

Agora, não vi também adicionado os alinhamentos

    android:layout_alignParentEnd="true"
    android:layout_alignParentBottom="true"
    android:layout_marginEnd="40dp"
    android:layout_marginBottom="30dp"

Assim, você tirou o floatbuttom do layer da ListView, mas se você tentar ajustar, ele vai para dentro da ListView de novo. Vai precisar adicionar esses parâmetro e ajustar por ai.

  1. build.grandle (talvez não precise arrumar aqui se já funcionar no primeiro caso)

Esse arquivo não achei no seu git, mas tem dois arquivos grandle Para mim aparece como o segundo build.grandle (Module: app)

Pelo que entendi, ele faz alguns ajustes no design e precisei ajustar um item Pelo que parece a JDK 29 ou maior tem alguns bugs nesse ponto, assim adicionei alguns ajustes, como segue:

apply plugin: 'com.android.application'

android { compileSdkVersion 30 buildToolsVersion '30.0.1'

defaultConfig {
    applicationId "br.com.XXXX"
    minSdkVersion 16
    targetSdkVersion 30
    versionCode 1
    versionName "1.0"
    vectorDrawables.useSupportLibrary = true

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

}

dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:30.0.0-alpha1' implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.android.support:design:30.1.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' }

Da uma olhada ai se ajuda, Abraço!

Opa Murilo, tudo bem?

Peguei seu código no GitHub para testar e não apareceu retângulo cinza para mim.

Veja as imagens...

Execução no AVD: https://ibb.co/T4JBJpg

Tela do Android Studio: https://ibb.co/G3bgKv9

Cristiano qual versão da API você está usando, e qual versão do Android Studio? Muito obrigado pela resposta

Murilo,

Estou com a última versão do studio instalada (4.0.1, com a build de 24/06).

A API no AVD é a 30, do Android R. Se quiser amanhã te mando imagem da configuração do AVD.

Para você aparece esse retângulo tanto na edição do layout quando na execução no AVD?

solução!

Cristiano,

Por pura sorte não vou sair como mentiroso. Estava escrevendo a resposta, que não podia ver o botão em lugar nenhum, tirei o print da IDE, e iniciei o emulador, então magicamente o botão apareceu na IDE. Após + ou - 10 minutos carregando, o emulador apareceu e pra minha felicidade, o botão estava lá.

Segue o print que eu tirei: IDE - isso pode ajudar alguém a ver os sintomas do problema e resolve-lo.

Então finalmente posso apresentar uma solução:

Como dito pela Letícia (muito obrigado) estavam faltando algumas pastas do Gradle, mas como eu não entendo NADA desse negócio, simplesmente não pude fazer nada. (Vale lembrar que o projeto do instrutor simplesmente nem abre na minha IDE.) Concluo que faltava eu fazer algo extremamente simples, que vai me custar meses até ter tempo de novo para fazer esse curso: fazer a build - simplesmente clicar no botão de rodar. Não sei por que da última vez o projeto rodou, mas não apareceu o botão, tenho uma hipótese: o compilador não atualizou o projeto, simplesmente recompilou a versão antiga do código e por isso não mostrou o botão.

Minha resposta é: reiniciem a IDE, recompile o projeto, refaça o emulador, então tente rodar o build do Gradle.

Muito obrigado a vocês que me ajudaram a descobrir o que estava errado, os instrutores da alura simplesmente não existem nesses momentos. Melhorem.

Que bom que deu certo.

Pra mim funcionou com o zip que baixei do seu GitHub. Não cheguei a fazer nenhuma intervenção. É possível que o Gradle já tenha resolvido na compilação.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software