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

FAB está preto

Apesar de seguir o passo-a-passo o ícone está preto. O arquivo active_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/activity_main_fab_novo_aluno"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_margin="16dp"
        android:clickable="true"
        android:src="@drawable/ic_action_novo_aluno"
        android:focusable="true" />

    <ListView
        android:id="@+id/activity_main_Lista_de_alunos"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>
</RelativeLayout>

O arquivo xml que representa o FAB

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="#FFFFFF"
    android:alpha="0.8">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
</vector>

O que eu fiz de errado?

4 respostas

Oi Diego, tudo bem?

Conforme os componentes vão atualizando (agora são os componentes do material como o próprio nome indica), algumas mudanças podem acontecer... Acredito que o problema é que o FAB ajusta todo o seu visual conforme o tema, ou seja, vc precisa ou modificar o tema para manter as cores que quer no geral, ou mudar a propriedade do componente que muda a cor do ícone, nesse caso acredito que seja a app:tint. Isso significa que esse componente ignora qualquer cor que o ícone tenha.

[]s

Agradeço o retorno, mas nesse caso o que devo fazer?

solução!

Opa eai Diego, tudo certo? Também estava fazendo o curso e passei pelo mesmo problema. O Android X mudou relativamente bastante a forma como o design funciona por baixo dos panos, não consigo te dizer exatamente o que, mas agora é necessário passar uma informação a mais especificando a cor.

Lembra que o instrutor no inicio de alguma das aulas disse que você poderia remover a linha xmlns:app="http://schemas.android.com/apk/res-auto" sem problemas? Pois é, isso acontece porque durante a gravação do curso ele acabou utilizando uma biblioteca que hoje já não é mais "o padrão" do android framework.

O que você precisa fazer agora é o seguinte:

  • No seu activity_main.xml adicione a linha xmlns:app="http://schemas.android.com/apk/res-auto" DENTRO da abertura do RelativeLayout.
  • Agora em seu FAB você pode passar a cor com a propriedade app:tint="#FFFFFF".

Referências: https://stackoverflow.com/questions/53458821/why-is-my-floatingactionbutton-icon-black https://stackoverflow.com/questions/28353835/namespace-app-not-bound-in-android-studio-with-external-lib-from-maven

Entendi, muito obrigado

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