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

Dúvida no Ex. 3 da Aula 3 - Utilizandos menus

O meu botão de adicionar perde a animação de clique quando uso a tag android:stateListAnimator="@null". Sem a tag ele fica com a animação, mas perde o efeito de profundidade.

    <Button
        android:id="@+id/lista_adicionar"
        android:layout_width="56dp"
        android:layout_height="56dp"
        android:text="+"
        android:elevation="6dp"
        android:textSize="40sp"
        android:textColor="#ffffff"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="16dp"
        android:layout_marginRight="16dp"
        android:background="@drawable/ic_lista_adicionar" />
3 respostas

Tentei utilizar a solução desse tópico (https://www.alura.com.br/course/android-studio-do-zero-a-persistencia/discussions/670627 ), alterou a aparência, mas o botão continuou sem as animações.

solução!

Ulisses, tudo bem ?

Estamos criando um botão que está em cima e queremos que ele fique redondo. Então nós alteramos o layout da Activity para RelativeLayout, dessa forma conseguimos colocar o botão sobre a lista. Bom para deixar o botão redondo criamos um arquivo que possuia uma tag Shape, dessa forma o botão estava ficando redondo. Pelo que vi, nesse outro tópico é pedido para usar a biblioteca de suporte do google, que já possui um view que faz todo esse trabalho para gente : FloatActionButton.

Para usarmos ela basta fazermos da mesma forma que estavámos fazendo :

<FloatActionButton
        android:id="@+id/lista_adicionar"
        android:layout_width="56dp"
        android:layout_height="56dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="16dp"
        android:layout_marginRight="16dp"    
/>

Para colocarmos a sombra nela, faremos da seguinte forma :

    app:elevation="6dp"

Ele está com a sombra, contudo ainda não definimos a cor que queremos que ele fique. Para fazer isso temos que adicionar a seguinte tag :

    app:backgroundTint="#FFFF00"

Bom, se formos ver o como está nosso botão, veremos que ele é círculo vermelho. Precisamos colocar algo para deixar o usuário consciente do que este botão faz. Vamos continuar com o "+".

Bom, estavámos apenas adicionando uma tag text e colocando o texto que queríamos, entretanto está view não possui esse atributo.

Para deixarmos algo para ser visto, precisa ser uma imagem. Então precisaremos possuir uma imagem que expresse um sinal de +, após isso para colocarmos essa imagem na nossa view iremos utilizar a seguinte tag :

    android:src="@drawable/SUA IMAGEM "

Vê se isso resolve seu problema da animação.

Se precisar de ajuda estoua sua disposição.

Abraços

Boa tarde, Matheus!

Obrigado pela resposta, mas acho q eu não claro na pergunta. Eu consegui deixar o botão redondo, vermelho e no lugar correto.

O problema é que quando eu coloco a tag elevate e não utilizo a tag android:stateListAnimator="@null", o botão fica com a animação do clique, mas sem a sombra do elevate.

Quando uso o elevate com a tag android:stateListAnimator="@null", o botão fica com o sombreamento do elevate, mas perde a animação do clique.

Eu tentei a solução do outro tópico, pensando que poderia ser um problema de compatibilidade (tirei as tags referentes ao texto para não dar problema), mas o botão continuou sem a animação do clique.